2013-12-23 18 views
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}" /> 

有没有到触发设置项目,同时在文本框中输入任何可能性?或者我应该为每个类的领域创建Property?

回答

0

考虑MyType的‘名称’属性的set块仅通知关于整个对象变化,而不是‘名称’,并称OnPropertyChanged()与特定的参数。

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); 
     } 
} 
0

您所做的一切是为了通知,只有当MyType的地址不改变的财产,在此类型。因此,如果您需要在类型属性中通知更改,那么这些属性应显式抛出onpropertychanged事件。