我有一个关于WPF stringformat
的问题。
我想将一个字符串绑定到TextBlock
stringformat
,目前我的内容类似于以下内容:
<TextBlock>
<TextBlock.Text>
<Binding StringFormat="{}Text: {0}" Path="text"/>
</TextBlock.Text>
</TextBlock>
我想要做的是将字符串格式化为如下所示: 文字:文字
或者换句话说,我希望将结果字符串的第一部分加粗。在我对该问题的解决方案的研究中,我发现了一个类似的问题StringFormat with Font Weight。但是,我对这种方法并不满意,大多数建议都反映了我的问题。
我想知道这是否是唯一的方法。我对这个解决方案不太满意,因为我认为它会使XML变得更加难以阅读。
授予我对WPF整体的新手,所以如果这是我可以接受的方式....我只是想知道这是否是解决这个简单问题的最好办法。
答案 0 :(得分:2)
我只有一个字:Run。
<TextBlock>
<Run FontWeight="Bold"
Text="Text: " />
<Run Text="{Binding text}" />
</TextBlock>
我应该在回答之前完整地阅读这个问题;再说一次,你不应该只是在没有添加细节的情况下链接另一个页面!
从我的头脑中,只有两种解决方案可以进行标记格式化<Run>
和<Span>
。
<Span>
对<Bold>
,<Italic>
和<Underline>
有一些有用的缩写,但这些缩写不支持绑定。
<Run>
冗长,但支持绑定。
在您的情况下,最好的&#39;解决方案就像:
<TextBlock>
<Bold>Text: </Bold><Run Text="{Binding text}"/>
</TextBlock>
对于旁注,Span
与Run
类似,但可以包含其他元素(运行,跨度,文本)。
有关详细信息,请see also。