如何绑定可观察集合以查看可观察集合中存在的项数
本文关键字:观察 集合 存在 绑定 何绑定 | 更新日期: 2023-09-27 18:33:36
大家好,我正在从事一个通过telnet配置网络设备的项目,我正在使用C# Wpf。问题是我有一个可观察集合,我想显示可观察集合中存在的项目数,但它没有显示.我尝试了以下:
public ObservableCollection<VLANSPropertyClass> vlan { get; set; }
public int Vlans
{
// Retreive value from Configuration Library
get
{
return this.vlan.Count;
}
}
XAML 是:
<TextBlock Margin="3,0"
Style="{StaticResource SummaryValues}"
Text="{Binding Path=Vlans}"
Visibility="Visible"
/>
现在它没有显示任何东西.任何帮助都将是非常可观的:)
最简单的方法是简单地绑定到 vlan。计数(在我的示例中,我使用了文本框,但textBlock不需要OneWay)。 不需要额外的属性或更改属性。 添加到集合将自动更新计数。
<TextBox Text="{Binding vlan.Count, Mode=OneWay}" />
或
<TextBlock Text="{Binding vlan.Count}" />
绑定不知道何时更新目标。 您需要实现 INotifyPropertyChanged,订阅 .CollectionChanged 并在 VLAN(计数)更改时引发 PropertyChanged 事件。
您可以在 ObservableCollection 之上使用 ListCollectionView。
在视图模型中,将它们定义为:
ObservableCollection<VLANSPropertyClass> vlan;
public System.Windows.Data.ListCollectionView CountingView { get; private set; }
然后,将集合初始化为 ObservableCollection:
CountingView = new System.Windows.Data.ListCollectionView(vlan);
在 xaml 中,绑定到集合的 Count 属性:
<TextBlock Margin="5" Height="35" Width="50" Text="{Binding CountingView.Count}" />
我希望这有帮助!