【问题标题】:wpf set property to static resource with string manipulationwpf 使用字符串操作将属性设置为静态资源
【发布时间】:2013-02-23 09:41:50
【问题描述】:
我正在创建一个 WPF 应用程序。它有两个标签,它们使用相同的静态字符串资源,但有一些区别。例如,它有一个字符串资源,其键为string1,值为SuccessRate。我希望第一个标签是SuccessRate,第二个标签Label 是SuccessRate(%)。我用以下方式定义第一个标签:
<Label Content="{StaticResource string1}" />
如何定义第二个Label?
【问题讨论】:
标签:
wpf
xaml
resources
label
【解决方案1】:
您可以将第二个标签的Content 设置为带有两个Run 元素的TextBlock:
<Label>
<TextBlock>
<Run Text="{StaticResource string1}"/>
<Run Text="(%)"/>
</TextBlock>
</Label>
也许你只需要 TextBlocks 而不是 Labels:
<TextBlock Text="{StaticResource string1}"/>
<TextBlock>
<Run Text="{StaticResource string1}"/>
<Run Text="(%)"/>
</TextBlock>
【解决方案2】:
你可以使用ContentStringFormat
<Label Content="{StaticResource string1}" ContentStringFormat="{}{0}(%)" ... />
请注意,格式以{} 开头。如果您的格式以开头,那么这就是必须存在的东西。 {
您可以在MSDN 上阅读有关ContentStringFormat 的信息。