我想绑定到我的DataContext中的Count /项目数量.
我有一个对象,让我说有List<address>
一个属性的人.我想显示该人的地址数量,即:5或6或任何情况.
我已经尝试{Binding Path=address#.Count}
过其他一些但是看起来似乎没有用.
任何帮助将不胜感激,谢谢.
Eri*_*sen 28
您需要绑定属性的名称,而不是其类型.
C#:
public class Person
{
...
public List<address> Addresses { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
XAML:
{Binding Addresses.Count}
Run Code Online (Sandbox Code Playgroud)
假设你DataContext
是一个类型的对象Person
.
Rob*_*ney 18
正如tehMick所说,你可以使用路径进行绑定Addresses.Count
.
但请注意,除非Addresses
是ObservableCollection<address>
实现INotifyCollectionChanged
,否则添加和删除地址的其他类型不会影响初始显示后UI中显示的数字.如果需要,您需要在视图模型中更改集合的类型(这是最简单的),或者在视图模型中实现公开计数的属性,并在PropertyChanged
每次添加或删除地址时引发事件.
编辑
我喜欢读一个答案,想着,"嘿,那不对,"然后意识到我写了它.
如果绑定到刚刚实现的对象,INotifyCollectionChanged
则在集合中添加或删除项目时,UI中的计数不会更改.该对象还必须在属性更改时实现INotifyPropertyChanged
并引发.PropertyChanged
Count
幸运的是,ObservableCollection<T>
这样做.所以,我的回答是不是那个错.
归档时间: |
|
查看次数: |
25997 次 |
最近记录: |