INotifyPropertyChanged在包含i列表的属性上

时间:2009-05-12 08:38:13

标签: wpf inotifypropertychanged

您好我在myClass中使用此代码来更改我的wpf applciation中的内容

      public event PropertyChangedEventHandler PropertyChanged;
  protected void Notify(string propertyName)
  {
     if (this.PropertyChanged != null)
     {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     }
  }

每次我更改myClass中的属性时,它都会更改我在应用中的标签。

 <Label Content="{Binding Category}" Padding="7,0,0,0" />

这个工作得很好但是在myClass中我有一个属性包含一个ilist到另一个类文章

private IList<Article> m_articles = new List<Article>();

现在来看看Notify方法不会更新我的Ilist中的内容是否有办法让它更新为ilist和view。 myclass中的所有属性如果是字符串或int都可以正常工作但是当它是Ilist时它不会更新。希望你们明白我的意思我的英语是坏sry .. 谢谢你的帮助

这里是xaml中的代码

                            <ListBox Name="ArtInfo" ItemsSource="{Binding Path=Articles}">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <Label Content="{Binding Artnr}" />
                                </DataTemplate>
                            </ListBox.ItemTemplate>

{Binding Path = Articles}&lt; - 这是包含ilist的属性  &lt; - 这是Article类

中的属性

1 个答案:

答案 0 :(得分:7)

您应该使用ObservableCollection&lt; Article&gt;而不是List&lt; Article&gt;