0

在我的 ViewModel 中,我有:

private MyType item;
public MyType Item
{
    get { return item; }
    set {
          if(item == null)
            return;
          item = value;
          OnPropertyChanged(()=>Item);
        }
}

在我看来:

<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding Path=Item.Name, UpdateSourceTrigger=PropertyChanged}" />

在文本框中输入时是否有可能触发一组项目?或者我应该为类的每个字段创建属性?

4

3 回答 3

0

例如

private string _name;
public string Name
{
   get { return _name; }
}
{
    set 
    {
        _name = value;
        OnPropertyChanged();
        OnPropertyChanged("Item");
    }
}

private MyType item;
public MyType Item
{
    get { return item; }
    set {
          if(item == null)
            return;
          item = value;
          OnPropertyChanged(()=>Item);
        }
}
于 2013-12-23T14:00:44.713 回答
0

考虑在通知整个对象更改的“名称”属性块中添加OnPropertyChanged()特定参数,而不仅仅是“名称”。setMyType

于 2013-12-23T13:54:34.447 回答
0

您所做的是仅在 MyType 的地址更改而不是此类型中的属性时才通知。因此,如果您需要在类型中的属性中通知更改,那么这些属性应该显式地抛出 onpropertychanged 事件。

于 2013-12-23T14:36:25.987 回答