WPF - 带有加权文本的 StringFormat
WPF - StringFormat with weighted text
我有一个关于 WPF 的问题 stringformat
。
我想用 stringformat
将字符串绑定到 TextBlock
,目前我有类似于以下内容的内容:
<TextBlock>
<TextBlock.Text>
<Binding StringFormat="{}Text: {0}" Path="text"/>
</TextBlock.Text>
</TextBlock>
我想要做的是将字符串格式化为如下所示:
文字:文字
或者换句话说,我希望将结果字符串的第一部分加粗。在我对解决问题的研究中,我发现了一个类似的问题,StringFormat with Font Weight。但是,我对这种方法并不满意,而且大多数建议都与我的问题的这种解决方案相呼应。
我想知道这是否是唯一的方法。我对这个解决方案不是很满意,因为我觉得它使 XML 膨胀并且更难阅读。
当然我是 WPF 的新手,所以如果这是可接受的方式,我会这样做....我只是想知道这是否是解决这个简单问题的最佳方式。
我只有一个字要告诉你:Run。
<TextBlock>
<Run FontWeight="Bold"
Text="Text: " />
<Run Text="{Binding text}" />
</TextBlock>
我应该在回答之前完整地阅读问题;话又说回来,你不应该只 link 另一个页面而不添加其中的详细信息!
从我的头顶来看,只有 2 个解决方案具有一些标记格式,<Run>
和 <Span>
。
<Span>
对 <Bold>
、<Italic>
和 <Underline>
有一些有用的简写形式,但这些不支持绑定。
<Run>
冗长,但支持绑定。
在您的情况下,'best' 解决方案类似于:
<TextBlock>
<Bold>Text: </Bold><Run Text="{Binding text}"/>
</TextBlock>
对于旁注,Span
类似于 Run
,但可以包含其他元素([=43=]、跨度、文本)。
更多详情,see also。
我有一个关于 WPF 的问题 stringformat
。
我想用 stringformat
将字符串绑定到 TextBlock
,目前我有类似于以下内容的内容:
<TextBlock>
<TextBlock.Text>
<Binding StringFormat="{}Text: {0}" Path="text"/>
</TextBlock.Text>
</TextBlock>
我想要做的是将字符串格式化为如下所示: 文字:文字
或者换句话说,我希望将结果字符串的第一部分加粗。在我对解决问题的研究中,我发现了一个类似的问题,StringFormat with Font Weight。但是,我对这种方法并不满意,而且大多数建议都与我的问题的这种解决方案相呼应。
我想知道这是否是唯一的方法。我对这个解决方案不是很满意,因为我觉得它使 XML 膨胀并且更难阅读。
当然我是 WPF 的新手,所以如果这是可接受的方式,我会这样做....我只是想知道这是否是解决这个简单问题的最佳方式。
我只有一个字要告诉你:Run。
<TextBlock>
<Run FontWeight="Bold"
Text="Text: " />
<Run Text="{Binding text}" />
</TextBlock>
我应该在回答之前完整地阅读问题;话又说回来,你不应该只 link 另一个页面而不添加其中的详细信息!
从我的头顶来看,只有 2 个解决方案具有一些标记格式,<Run>
和 <Span>
。
<Span>
对 <Bold>
、<Italic>
和 <Underline>
有一些有用的简写形式,但这些不支持绑定。
<Run>
冗长,但支持绑定。
在您的情况下,'best' 解决方案类似于:
<TextBlock>
<Bold>Text: </Bold><Run Text="{Binding text}"/>
</TextBlock>
对于旁注,Span
类似于 Run
,但可以包含其他元素([=43=]、跨度、文本)。
更多详情,see also。