使用 WPF 将 ObservableCollection.Count 绑定到标签

Pas*_*cal 7 wpf bind count observablecollection zero

我有一个简单的应该包含.property 的属性的Label绑定值。.CountObservableCollection

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

我在这里做错了什么?

这是我的代码:

<Label ContentStringFormat="Members: {0}">
    <Label.Content>
        <Binding Path="MembersList.Count" Mode="OneWay" UpdateSourceTrigger="Default" />
    </Label.Content>
</Label>
Run Code Online (Sandbox Code Playgroud)

该物业看起来像:

public static ObservableCollection<Mitglied> MembersList { get; set; }
Run Code Online (Sandbox Code Playgroud)

小智 0

你可以试试这个...

MainWindow.Xaml.cs->

int Counter = 0;
private static ObservableCollection<string> _MemberList = new ObservableCollection<string>();
// Suppose it is of String type..I took it as of String type to check my case
public static ObservableCollection<string> MemberList
{
    get { return MainWindow._MemberList; }
    set { MainWindow._MemberList = value; }
}

MainWindow()
{
    InitializeComponent();
    MemberList.Add("0");
    MemberList.Add("1");
    MemberList.Add("2");
    Label1.DataContext = this;
}

private void Button_Click(object sender, RoutedEventArgs e)
{          
    try
    {
        MemberList.RemoveAt(Counter);
        Counter++;
     }
     catch(Exception ex)
     {
         string strTemp=ex.Message();
     }
 }
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml->

    <Grid>
        <Label Name="Label1" ContentStringFormat="Members: {0}" Margin="0,56,141,38" RenderTransformOrigin="0.158,1.154" HorizontalAlignment="Right" Width="183">
        <Label.Content>
            <Binding Path="MemberList.Count" Mode="OneWay" UpdateSourceTrigger="Default"/>
        </Label.Content>
    </Label>
        <Button Click="Button_Click" Width="100" Height="20" Content="click" Margin="43,169,360,122" />
    </Grid>
Run Code Online (Sandbox Code Playgroud)