2013-12-23 20 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事件。