簡體   English   中英

我的WPF列表視圖不會綁定

[英]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的最佳做法會更好,那么您將在此鏈接上找到有關如何將ObservableCollectionINotifyPropertyChangedMVVM設計模式一起使用的很好的解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM