gpt4 book ai didi

wpf - 使用 WPF 将 ObservableCollection.Count 绑定(bind)到标签

转载 作者:行者123 更新时间:2023-12-03 00:01:47 28 4
gpt4 key购买 nike

我有一个简单的Label,它应该包含ObservableCollection的属性的绑定(bind).Count值。

问题是,结果始终为 0(零)。相同的属性绑定(bind)到 DataGrid,它可以完美地工作,甚至可以在集合中发生更改时进行更新。

我在这里做错了什么?

这是我的代码:

<Label ContentStringFormat="Members: {0}">
<Label.Content>
<Binding Path="MembersList.Count" Mode="OneWay" UpdateSourceTrigger="Default" />
</Label.Content>
</Label>

该属性看起来像:

public static ObservableCollection<Mitglied> MembersList { get; set; }

最佳答案

我只能假设您实际上没有向集合中添加任何项目。如果您认为自己是这样,则必须向我们提供更完整的重现。

这对我来说非常有效:

MainWindow.xaml

<Window x:Class="SO18124125.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<Button x:Name="addButton">Add</Button>
<Label>
<Label.Content>
<Binding Path="Items.Count" Mode="OneWay" UpdateSourceTrigger="Default"/>
</Label.Content>
</Label>
</StackPanel>
</Window>

MainWindow.xaml.cs

namespace SO18124125
{
using System.Collections.ObjectModel;
using System.Windows;

public partial class MainWindow : Window
{
private static readonly ObservableCollection<string> items = new ObservableCollection<string>();

public MainWindow()
{
InitializeComponent();

this.DataContext = this;

this.addButton.Click += delegate
{
items.Add("foo");
};
}

public static ObservableCollection<string> Items
{
get { return items; }
}
}
}

顺便说一句,这更简洁:

<Label Content="{Binding Items.Count}" ContentStringFormat="Members: {0}"/>

关于wpf - 使用 WPF 将 ObservableCollection.Count 绑定(bind)到标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124125/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com