1

在我的 Silverlight 4 应用程序中,我有一个 ObservableCollection,我将其数据绑定到两个不同的列表框。显示 MyClass-Object 内容的列表框项。当我将一个项目添加到 ObservableCollection 时,新项目会正确显示在两个列表框中。

我已将绑定模式设置为两种方式,以便编辑列表框项将自动更新模型。到目前为止,这有效。我的问题是,另一个列表框的内容不会随着更新的模型而更新。添加新项目将正确显示在另一个列表框中,但内容的更新(我检查过)不会。

任何想法如何实现:当我更新一个列表框中的内容时,另一个列表框的内容应该自动更新。

提前致谢,
弗兰克

4

2 回答 2

2

为了扩展卢克所说的你的类需要实现的内容INotifyPropertyChanged,并且你的属性需要PropertyChanged在它们的设置器中抛出事件。

public class MyClass : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged; // This may be named wrong

    private string _myString = null;

    public string MyString
    {
        get { return _myString; }
        set
        {
            if(value == _myString)
                return;
            _myString = value;
            var eh = PropertyChanged;
            if(eh != null)
                eh(this, new PropertyChangedEventArgs("MyString"));
        }
    }
}

MyString属性将通知 UI 它已更改,这将触发绑定更新。

于 2010-07-07T17:02:55.630 回答
1

您需要确保 observable 集合中的对象实现INotifyPropertyChanged并且它们应该在您的内容属性更改时发布更改事件。

于 2010-07-07T16:42:06.960 回答