2012-03-08 200 views
0

我將UserControl的文本框數據綁定到屬性,如下所示。雙向數據綁定:更新不更新綁定屬性的文本框

<TextBox Name="txtData" Text="{Binding MyData, Mode=TwoWay}"/> 

但是,當我點擊提交,在txtData文本框的用戶控件中,userControl.MyData返回null輸入一些文字後,承載用戶控件的頁面上的按鈕。我應該怎麼做才能將txtData.text值分配給除TextChanged事件以外的其他房產?

+0

你確定這個綁定是正確的嗎?如果你在用戶控件的構造函數中設置了MyData的值,你會在文本框中看到它嗎?如果是,請分享整個XAML。 – 2012-03-08 01:00:13

+0

不,它不是!我沒有得到什麼錯誤。 – devnull 2012-03-08 01:07:13

+0

閱讀關於[數據綁定](http://msdn.microsoft.com/en-us/library/ms752347.aspx)首先,然後如果你沒有線索... – 2012-03-08 01:16:29

回答

1

根據您的意見,當TextBox.Text更改時,您希望更新userControl.MyData

從結合透視TextBox.Text是目標和MyData是如此嚴格的說,這是一個OnWayToSource結合(源=>到邁德特)源 - 所以應該沒有必要實施INotifyPropertyChanged。但這不是問題。

當前寫入綁定的方式,MyData屬性期望在TextBoxDataContext上找到 - 是這種情況嗎?您可以修復數據上下文或可能使用其他綁定源,例如ElementName或RelativeSource - 很難說沒有看到更多的xaml。

您也可以考慮在綁定上設置UpdateSourceTrigger=PropertyChanged

+0

是的,是這樣。 'MyData'屬性期望在'TextBox'的'DataContext'上找到 – devnull 2012-03-08 08:10:13