[英]My WPF listview will not bind
這似乎是一個奇怪的問題,但我被困住了。
我在動態綁定到列表集合的wpf應用程序中使用ListViews。
除了一個。 我只是看不出出什么問題/不同。
這是我的模型:
public class WorkUnitCost
{
public string ErrorMessage { get; set; }
public int WorkUnitCostId { get; set; }
public bool IsUploaded { get; set; }
public string WorkUnitCostRef { get; set; }
public string Description { get; set; }
public double Cost { get; set; }
public bool IncludesVAT { get; set; }
public string CompanyRef { get; set; }
public bool Active { get; set; }
public bool Exists { get; set; }
public string Caption
{
get { return Description + " £" + Cost; }
}
}
這是我的收藏:
public List<WorkUnitCost> WorkUnitCost = new List<Model.WorkUnitCost>();
這是我的代碼背后:
lvWorkItems.ItemsSource = WorkUnitCost;
這是我的標記:
<ListView x:Name="lvWorkItems">
<ListView.View>
<GridView>
<GridViewColumn Header="Description" Width="190" DisplayMemberBinding="{Binding Description}" />
<GridViewColumn Header="IsVat" Width="50" DisplayMemberBinding="{Binding IncludesVAT}" />
<GridViewColumn Header="Cost" Width="75" DisplayMemberBinding="{Binding Cost}" />
</GridView>
</ListView.View>
</ListView>
通過設置斷點,我知道有2個項目具有填充字段。 但是,什么都看不到嗎?
如果您在將項目設置為ItemsSource
之后向其添加項目,則不會收到有關更改的通知。
您將不得不使用一些實現INotifyCollectionChanged
集合。 ObservableCollection<T>
是最常見的選擇。
我認為您需要對模型實現INotifyCollectionChanged
,而不是List
嘗試使用ObservableCollection<WorkUnitCost>
來使視圖與模型數據同步。 實際上,如果您使用MVVM
來確保WPF
的最佳做法會更好,那么您將在此鏈接上找到有關如何將ObservableCollection
和INotifyPropertyChanged
與MVVM
設計模式一起使用的很好的解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.