我想在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属性”
看不懂。你需要解释这个小“界面”的架构。