<ListBox x:Name="MainList" HorizontalAlignment="Left" Height="468" Margin="10,10,0,0" VerticalAlignment="Top" Width="100" ItemsSource="{Binding Items,Mode=TwoWay}" DisplayMemberPath="Name"/>
[Serializable()]
public class MYcontainer : INotifyPropertyChanged,ISerializable
{
private List<MYClass> _items = new List<MYClass>();
public List<MYClass> Items
{
get{ return _items;}
set { this._items =value;
OnPropertyChanged("Items");
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName = null)
{
var eventHandler = this.PropertyChanged;
if (eventHandler != null)
eventHandler(this, new PropertyChangedEventArgs(propertyName));
}
}
当我将一个项目添加到“项目”时,UI 不会更新,绑定工作正常,因为如果我关闭窗口并再次打开它,新项目会正确显示。
我究竟做错了什么?我知道如果我使用ObservableCollection
它会正常工作,但它不应该使用List<>
吗?我已经在另一个窗口中有一个 string[] 属性,它更新得很好。