我在WPF工作,我需要设置HeaderedContentControl的 Header 的Text和ToolTip。所以我要做的是创建一个模板如下:
System.Windows.DataTemplate template = new System.Windows.DataTemplate();
template.DataType = typeof(HeaderedContentControl);
System.Windows.FrameworkElementFactory blockFactory = new System.Windows.FrameworkElementFactory(typeof(TextBlock));
blockFactory.SetValue(TextBlock.TextProperty, "The Header Text");
blockFactory.SetValue(TextBlock.ToolTipProperty, "The ToolTip");
template.VisualTree = blockFactory;
myHeaderedContentControl.HeaderTemplate = template;
但是当我运行程序时,标题显示为空。我做错了什么?
希望有人可以提供帮助,提前谢谢
答案 0 :(得分:2)
不知道为什么要以这种方式使用模板。为什么不用文本块设置header属性?
myHeaderedContentControl.Header = new TextBlock
{
Text = "Some text",
ToolTip = "Some tooltip"
};
此外,最好在XAML中定义所有内容:
<HeaderedContentControl x:Name="control">
<HeaderedContentControl.Header>
<TextBlock Text="Some text" ToolTip="Some tooltip"/>
</HeaderedContentControl.Header>
</HeaderedContentControl>