如何设置 WPF 菜单项中的文本格式
本文关键字:菜单项 文本 格式 WPF 何设置 设置 | 更新日期: 2023-09-27 18:36:10
我有一个这样的菜单项:
menu.Items.Insert(0, new MenuItem
{
Header = String.Format("Foo '"{0}'" bar", "qux")
});
我的问题是:如何将一些文本格式的东西(如Foreground
颜色)应用于{0}
部分?
您可以使用具有不同格式Inline
元素的TextBlock
:
TextBlock text = new TextBlock();
text.Inlines.AddRange(
new Inline[]
{
new Run("Foo "),
new Run(string.Format("'"{0}'"", "qux")) {Foreground = Brushes.Red},
new Run(" bar")
});
menu.Items.Insert(0, new MenuItem
{
Header = text
});
Header
属性是 MenuItem 的内容元素,类型为 object
。
考虑如何使用 Xaml 设置菜单项的格式,一个例子可能是:
<MenuItem>
<MenuItem.Header>
<TextBlock>
<Run Background="Yellow" Foreground="Red" FontWeight="Bold">
Foo
</Run>
... etc
</TextBlock>
</MenuItem.Header>
</MenuItem>
在代码中模拟它。