0
private MyObject _myObject;
public MyObject MyObject
{
    get { return _myObject; }
    set
    {
        if (_myObject != value)
        {
            _myObject = value;
            RaisePropertyChanged(() => MyObject);
        }
    }
}


<TextBox Text="{Binding MyObject.MyObjectProperty}"/>

启动我的应用程序时,MyObject 被初始化,MyObjectProperty 显示在我的 TextBox 中,但是当我更改 MyObject 的 MyObjectProperty 时,TextBox 没有更新!

4

2 回答 2

1

您的 MyObject 对象是否实现 INotifyPropertyChanged 并调用它?

public class MyObject
{
private string _prop;
public string MyObjectProperty
{
  get { return _prop; }
  set
  {
    if (_prop!= value)
    {
        _prop = value;
        RaisePropertyChanged(() => MyObjectProperty);
    }
 }
}
}

并且默认的 UpdateSourceTrigger 是 LostFocus 所以你必须离开文本框才能看到任何东西

于 2013-05-29T12:46:38.473 回答
0

除了blindmeis所说的之外,请确保您还在文本框上指定了两种方式绑定。

<TextBox Text="{Binding Path=MyObject.MyProperty, Mode=TwoWay"}/>
于 2013-05-29T13:04:00.340 回答