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

あなたが行ったことは、このタイプのプロパティではなく MyType のアドレスが変更された場合にのみ通知することです。したがって、型のプロパティで変更を通知する必要がある場合、それらのプロパティは onpropertychanged イベントを明示的にスローする必要があります。

于 2013-12-23T14:36:25.987 に答える
0

E.g

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 に答える