如何对usercontrol属性(公共字符串)进行双向绑定?

时间:2011-12-22 04:51:13

标签: c# silverlight data-binding

查找有关如何在usercontrol中绑定控件的所有结果。 但是现在我的问题很简单,就是只需绑定一个值 Pulic String MyBindingString {get;组; }

我试过, 但进入该页面时出错 设置属性'xxxx.xxx.xxxx.xx.MyBindingString'引发异常

感谢您的帮助。


现在,我发现当我在代码中绑定时就像 “Text = {Binding MyCustomText,Mode = TwoWay}”

实际传递给MyBindingString的是class:System.Windows.Data.Binding 不是价值......

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您的问题标题定义明确。你正在寻找装订中的“模式”。

双向,Mode = TwoWay, 例如:

"Text={Binding MyCustomText, Mode=TwoWay}"

答案 1 :(得分:0)

如果要在UserControl中创建可绑定属性,可以这样做:

        #region MyCustomText

        public string MyCustomText
        {
            get { return GetValue(MyCustomTextProperty) as string; }
            set { SetValue(MyCustomTextProperty, value); }
        }

        public static readonly DependencyProperty MyCustomTextProperty = DependencyProperty.Register("MyCustomText",
          typeof(string), typeof(MyUserControl), new System.Windows.PropertyMetadata(null, new PropertyChangedCallback(OnMyCustomTextChanged)));

        public static void OnMyCustomTextChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            var control = sender as MyUserControl;
            var value = e.NewValue as string;
        }

        #endregion MyCustomText