C# WPF中的句柄字体
以下是我的背景: 我们正在使用WPF为我们的产品创建一个新的Windows用户界面。由于我们是跨平台的,所以在应用程序的另一部分(用C编写)中已知C# WPF中的句柄字体,c#,wpf,fonts,C#,Wpf,Fonts,以下是我的背景: 我们正在使用WPF为我们的产品创建一个新的Windows用户界面。由于我们是跨平台的,所以在应用程序的另一部分(用C编写)中已知Label.Content或Button.Content等所有信息,而不是在XAML中定义的 问题是: 我们希望处理放入WPF组件内容中的字符串。 我看到我们有一些属性 Label.Content.FontFamily或Label.Content.Size,但并非所有字符串的图形属性都必须相同 例如: 这是我的标签内容:“大家好,谢谢你们帮助我”。有可
Label.Content
或Button.Content
等所有信息,而不是在XAML中定义的
问题是:
我们希望处理放入WPF组件内容中的字符串。
我看到我们有一些属性
Label.Content.FontFamily
或Label.Content.Size
,但并非所有字符串的图形属性都必须相同
例如:
这是我的标签内容:“大家好,谢谢你们帮助我”。有可能吗
- 在“谢谢”下面划线
- 将所有大写字母更改为红色
- 更改这些大写字母的大小
非常感谢 TextBlock的内容属性(Text)需要一组
Inline
元素(InlineUICollection),您可以使用以下内容:
Inline
InlineUICollection
LineBreak
Run (defines Text property)
Span (defines Inlines property)
Bold
Italic
Underline
(Inlines是span的内容属性,是InlineUICollection,这意味着您可以在span内添加梯段、换行符和其他span/Bold/斜体。)
使用此选项可以“大家好,谢谢你们帮助我”:
如果存在更改显示样式的某些条件,则可以使用。检查哪些描述了使用。在xaml中尝试此操作。。。。。。。。。。。。。。。。不幸的是,在我的例子中,更改XAML il可能不是一个好的解决方案。当我在收到之前不知道如何“设计”字符串时。我知道,这在WPF的理念中并不真实,但我们的API结构似乎不可能。您好,谢谢您的回复。看来是我在找的。但是我想对按钮或列表框不可能做同样的事情?是的,你可以。按钮是ContentControl,因此您可以自定义它在ContentTemplate中的外观。如果您对默认外观满意,您只需添加一个文本块作为按钮的内容,它就会显示出来,即:
ello各位,谢谢您的帮助。对于ItemControls(例如ListBox),您必须查看DataTemplates的使用方式,它们允许您定义每个项的呈现方式
<TextBlock><Run Text="H" FontSize="20" Foreground="Red"/><Span>ello guys, <Underline>thank you</Underline> for helping me</Span></TextBlock>
TextBlock t = new TextBlock();
t.Inlines.Add(new Run{Text="Hello World"});