我有以下名为SalesOrderCollection的可观察集合
private static ObservableCollection<SalesOrder> _salesOrderCollection = new ObservableCollection<SalesOrder>();
public static ObservableCollection<SalesOrder> SalesOrderCollection
{
get { return _salesOrderCollection; }
set
{
_salesOrderCollection = value;
}
}
我正在分配这样的值:
SalesOrder order = new SalesOrder();
order.ItemSubTotal = 234;
order.TotalTaxes = 12;
order.TOTAL = 12345;
SalesOrderCollection.Add(order);
在视图中,我将其设置为标签:
<Label Content="{Binding Path=TOTAL, UpdateSourceTrigger =PropertyChanged}"/>
但是标签为空。关于我在这里做错什么的任何建议?
答案 0 :(得分:0)
首先,您绑定不正确-标签不应绑定到集合中的特定项目。相反,您应该使用列表控件显示ObesrvableCollection的内容,然后将列表控件中的选定项绑定到视图模型上的属性。然后,标签还应该绑定到包含所选对象的相同属性。
如果您坚持要对ObservableCollection中的特定项目进行索引绑定,则此语法应为您完成:
<Label Content="{Binding Path=SalesOrderCollection[0].TOTAL}"/>
Here是一个示例。
只是另一个指针:我不确定为什么将SalesOrderCollection
属性设置为静态-这看起来像是一些可能令人讨厌的代码的开头。