可能不是問題的正確的標題,但我會盡量解釋: 我的文本框已經綁定到像一個屬性:動態綁定?
class MyViewModel : INotifyPropertyChanged
public string TextVal
{
get
{
if (View != null)
{
return View.Model.TextForValueField; // other satrts
}
return defaultModel.TextForValueField;// first start
set
{
.....//some setters logic with View.Model.TextForValueField
}
}
當程序啓動的觀點是不開這樣的吸氣結合的價值字段設置爲默認模式中的值,但這是正確的,但是當我打開新的View
時,我的getter正確返回對應的View.Model.TextForValueField
的值,但我的windows功能區菜單上的TextBox字段顯示默認模型(?) 爲什麼?? 綁定的XAML是:
<Setter Property="Text" Value="{Binding MyViewModel.TextVal, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
也許有一種方法叫吸氣視圖開始時一次?像「刷新」的絲帶?
我的屬性更改的功能
protected void RaisePropertyChanged(string propName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propName));
}
}
如果您的屬性以編程方式更改,您應該實現INotifyPropertyChanged接口以更新數據綁定GUI控件。 – mcy
讓我嘗試重寫您的問題,當'TextForValueField'被更改時,您的'TextBox'(綁定到'TextVal')沒有更新,對不對? – Sinatr
您正在'set'訪問器中調用您的'RaisePropertyChanged'方法,對吧? – mcy