我在resx文件中有一些文本需要在TextBlock中显示。此文字将包含粗体区域,我必须在粗体中显示。当文本发生变化时,保持粗体区域的最佳方法是什么?我不能从代码后面进行内联,因为resx文件中的文本可以更改。 WPF vb.net应用程序。感谢
答案 0 :(得分:0)
您需要使用 Inlines :
<TextBlock.Inlines>
<Run FontWeight="Bold" FontSize="14" Text="{Binding BoldTextProperty}" />
<Run FontStyle="Italic" Foreground="Red" Text="{Binding ItalicandRedColorTextProperty}" />
</TextBlock.Inlines>
如果您未使用绑定,请将文本直接指定给文本属性。
您还可以绑定其他属性:
<TextBlock.Inlines>
<Run FontWeight="{Binding Weight}"
FontSize="{Binding Size}"
Text="{Binding LineOne}" />
<Run FontStyle="{Binding Style}"
Foreground="Binding Colour}"
Text="{Binding LineTwo}" />
</TextBlock.Inlines>
如果您使用粗体作为布尔值(例如),则可以通过转换器进行绑定。
答案 1 :(得分:0)
我不得不做一些改变。我从resx文件中删除了文本并将其放入.txt文件中。我为标题下的每个主体创建了一个.txt文件,并对标题进行了硬编码。从后面的代码中使用Inline,我控制了标题中的内容以及它下面的内容。这样可以在.txt文件中更改文本正文,代码将保持不变。