当我想将一个ObservableCollection字符串绑定到UI时。我这样做:
ObservableCollection<string> myStrings = new ObservableCollection<string>();
myStrings.Add("hello");
myItemsControl.ItemsSource = myStrings;
然后,当我从该列表中添加/删除元素时,UI会更新。
但是,当我将ObservableCollection添加到另一个类时,绑定不会更新:
public class TestClass
{
public ObservableCollection<string> myStrings = new ObservableCollection<string>();
}
TestClass myTestClass = new TestClass();
myTestClass.myStrings.Add("hello");
myItemsControl.ItemsSource = myTestClass.myStrings;
绑定首次使用,但在添加/删除项目时不会更新。有人可以向我解释为什么会发生这种情况以及如何绕过它?
答案 0 :(得分:0)
您正在尝试绑定到字段,而不是属性。将班级改为
public class TestClass
{
public TestClass()
{
myString = new ObservableCollection<string>();
}
public ObservableCollection<string> myStrings {get; set;}
}
它应该按预期工作。