我有一個ListView,填充ItemsSource指向登錄歷史列表,以便我可以選擇以前成功登錄而不必鍵入用戶,主機等。這似乎工作正常,但由於某種原因,現在數據綁定工作正常,但控件中的項目是不可見的。我可以告訴控件正在正確填充,因爲項目的「鬼魂」是可用的,並突出顯示當我把它們鼠標懸停在正確的數量,如我的ItemsSource,並且他們被正確綁定 - 例如,如果我的ItemsSource有LoginA,LoginQ,和LoginZ並點擊第二個'隱形'項目,LoginQ發生。我試着弄亂了不透明度,改變了ItemsSource綁定的位置(在登錄對話框出現之後/之前等)。沒有喜樂。與舊版工作版本相比,我看不到任何看似相關的東西。提示,建議和噓聲歡迎.....WPF ListView控件被填充,但不可見
回答
這聽起來像你的列表項目類型屬性或者不是實際屬性(它們可能是公共字段,而不是綁定),或他們的值更改稍後在您的代碼中,您尚未實施INotifyPropertyChanged以通知XAML綁定引擎其值已更新。
這是我的ItemsSource:List的類,以及引用它的XAML。 +++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++ public class LoginHistory { public string user; 公共字符串主機; 公共字符串公司; 等等,等等,等等......... }
+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
<Border Name="mask" Opacity="0.8" Background="White" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" CornerRadius="0,0,0,10"/>
<ListView Background="White" BorderThickness="0" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
IsSynchronizedWithCurrentItem="True" HorizontalAlignment="Stretch"
x:Name="HistoryListView" VerticalAlignment="Stretch" Width="Auto"
Height="Auto" FontSize="14" SelectionMode="Single"
SelectionChanged="HistoryListView_SelectionChanged">
<ListView.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</ListView.OpacityMask>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Height" Value="40"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<!--
<GridView ColumnHeaderTemplate="{StaticResource HeaderTemplateNoArrow}" AllowsColumnReorder="True">
-->
用戶
<GridViewColumn DisplayMemberBinding="{Binding Path=company}">
<GridViewColumnHeader>Company</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=host}">
<GridViewColumnHeader>Host</GridViewColumnHeader>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<Border BorderThickness="1" Margin="0" BorderBrush="Gray" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" CornerRadius="0,0,0,10">
</Border>
正如我的回答所述,看起來你正在使用公共領域,而不是屬性。你不能綁定到字段。通過添加getters和setter來將您的字段更改爲屬性。 – devdigital 2011-04-17 20:14:06
devdigital的回答幫我找到的問題;我試圖綁定到我的LoginHistory類中定義爲:
public string foo;
我之前已經定義字段:
公共字符串FOO {獲得;組; }
但改變了他們,當我遇到一些問題,並且從未改變他們回來。有{get;組; }定義允許它們再次對數據綁定可見。 Ken(我是OP,但不知怎的,這個問題最初是作爲'新用戶'發佈的,所以我不認爲我可以將它們標記爲已回答)。
我有同樣的問題,並在xaml文件中的綁定問題。
<GridViewColumn Header="Category" Width="Auto" DisplayMemberBinding="{Binding yourVariable}"/>
我已經改變了在後面的代碼(xaml.cs),但不是在XAML一些線路,所以結合而不能正常工作(在xaml.cs ListView中被填充,但WPF沒」不知道如何將它們放入xaml的ListView中)。
當我在xaml中修復該問題時,ListView中的行變爲可見。
- 1. listview填充不正確/不可見
- 2. WPF - 填充ListView
- 3. Wpf Listview不填充sqlite
- 4. WPF的ListView填充
- 5. ListView未填充,但getView()被調用
- 6. 當適配器被填充時,Android ListView變得可見
- 7. WPF UserControl填充控件
- 8. ListView不填充
- 9. Android listview沒有被填充
- 10. listView沒有被填充?
- 11. 的Android的ListView不被填充
- 12. WPF控件可見性
- 13. WPF自定義控件不可見
- 14. WPF TreeView沒有被填充
- 15. Android的 - 填充的ListView控件
- 16. 填充ListView控件與動態數組
- 17. 添加填充ListView控件內與線
- 18. 文件被創建,但不可見
- 19. WPF ListView動態添加列不可見
- 20. android listview不填充
- 21. WPF ListView控件
- 22. WPF有控件填充整行
- 23. 在WPF用戶控件中填充Datagrid
- 24. ListView不可見
- 25. 填充在div塊內不可見?
- 26. 刪除導航欄(不可見)填充
- 27. 動態填充WPF中的ListView
- 28. ArrayList和ListView沒有被填充
- 29. 從XML文件填充ListView
- 30. JButton補充說,但不可見
你可以發佈listview的xaml嗎? – 2011-04-12 00:12:10