XAML:有没有办法设置树视图项标头属性的样式以包含多个字体样式



我需要创建一个将显示富文本的 TreeView 类型控制器。

例:

» 署名

» 人名认证

TreeViewItem 的内容很简单,因为我可以简单地将 TextBlock 放入其中,但标头不允许多个字体样式声明。

我真的是XAML的初学者,我在ExpressionBlend工作(尽管我并不回避编码)。如果有人把我推向正确的方向,我将不胜感激。

您可以在文本块中放置"运行"以更改字体。

例如

<TextBlock>Hello<Run FontStyle="Bold">World</Run></TextBlock>

您可以将标题的内容设置为所需的任何内容

<TreeViewItem>
    <TreeViewItem.Header>
        <TextBlock>Hello<Run FontStyle="Bold">World</Run></TextBlock>
    </TreeViewItem.Header>
</TreeViewItem>

执行此操作时:

<TreeViewItem>Hello</TreeViewItem>

您没有告诉 XAML 分析器要将"Hello"放入哪个属性。XAML 分析器将查看类型 (TreeViewItem),并查看哪个设置为"ContentProperty",在本例中为名为"Header"的属性。由于您尚未指定"Hello"是什么,因此它假定为字符串。由于字符串实际上无法在 WPF 中显示为内容,因此它必须创建一个控件来显示字符串。TreeViewItem 的值转换器设置为提供 TextBlock 控件,并将此控件的 Text 设置为您输入的字符串。因此,幕后发生的事情远不止你所能看到的:)

所有这些事情都可以用自己的控件完成

您可能应该阅读 WPF 模板、内容控件、内容演示器、样式等。您可以使用 WPF 执行许多功能强大的操作 - 例如,使应用程序中的每个按钮都具有相同的布局和样式,并在没有任何代码的情况下将图像添加到按钮的前面(只需几行 XAML)

查看此处的模板初学者指南

http://msdn.microsoft.com/en-us/magazine/cc163497.aspx

最新更新