当前位置: 代码迷 >> .NET Framework >> WPF自定义控件中,自定义属性的绑定。该如何处理
  详细解决方案

WPF自定义控件中,自定义属性的绑定。该如何处理

热度:6928   发布时间:2013-02-25 00:00:00.0
WPF自定义控件中,自定义属性的绑定。
我想在WPF中做一个自定义控件,其中有一个自定义属性HelpText,在主界面用此控件时,指定HelpText的值,然后自定义控件绑定此值,显示出来。
自定义控件:
public class TextBoxEx : TextBox
    {
        static TextBoxEx()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(TextBoxEx), new FrameworkPropertyMetadata(typeof(TextBoxEx)));
            HelpTextProperty = DependencyProperty.Register("HelpText", typeof(string), typeof(TextBoxEx),
   new FrameworkPropertyMetadata("请您输入..", new PropertyChangedCallback(OnHelpTextChanged)));
        }
        public static DependencyProperty HelpTextProperty;
        public string HelpText
        {
            get { return (string)GetValue(HelpTextProperty); }
            set { SetValue(HelpTextProperty, value); }
        }
        private static void OnHelpTextChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {

        }
    }

下面是自定义控件的xaml代码,我用了好几种,怎么也绑定不了从使用控件的主界面发回来的HelpText属性:
1.<TextBlock Text="{Binding  Path=HelpText}"/>
2.<TextBlock Text="{TemplateBinding HelpText}"/>
3. <TextBlock Text="{Binding Path=HelpText,  RelativeSource={RelativeSource TemplatedParent}}"/>
经测试如果把上面绑定化为固定值,正常运行,隐藏代码中回调函数可以证明HelpText传参无错误。
请问如何绑定??

------解决方案--------------------------------------------------------
“从使用控件的主界面发回来的HelpText属性”

看不懂。你需要解释这个小“界面”的架构。
  相关解决方案