2014-04-18 218 views
0

我試圖創建一個從TextBox控件繼承的自定義控件。在我的自定義控件的構造函數中,我需要綁定文本屬性。這是我現在使用的代碼。在代碼隱藏中綁定用戶控件文本屬性

var binding = new Binding("Name"); 
binding.Mode = BindingMode.TwoWay; 
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 
binding.ValidatesOnDataErrors = true; 
SetValue(TextProperty, binding); 

我沒有設置源綁定,因爲我想它是在其我的自定義控制將被放置不過我想我做它在一個錯誤的方式,因爲當我加入了形式的DataContext在窗體上,我面對xaml中的錯誤消息:「System.Windows.Data.Binding不是屬性文本的有效值。」

回答

1

它在代碼隱藏方面不太好,希望能回答你的問題

Binding binding = new Binding(); 
binding.Path = new PropertyPath("yourPropertyTobeBinded"); 
binding.Source = sourceObject; 
BindingOperations.SetBinding(youTextBox, TextBox.TextProperty, binding); 
+0

是的,實際上我必須通過SetBinding而不是SetValue來實現,非常感謝。 – user3530012

相關問題