gpt4 book ai didi

c# - 如何使用 XAML 中的资源值和绑定(bind)值格式化字符串?

转载 作者:可可西里 更新时间:2023-11-01 11:28:37 26 4
gpt4 key购买 nike

我需要开发一个支持本地化的应用程序,因此我需要以这样一种方式格式化 TextBlock,即部分字符串从绑定(bind)中获取一个参数,部分从资源中获取。我是这样写的

<TextBlock Height="30" >
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} -- *Now only* {1:C}!">
<Binding Path="Description"/>
<Binding Path="Price"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

这个现在只有部分我需要从资源字符串中获取。该字符串在资源中,但我不知道如何以这种方式从字符串中获取。谁能帮帮我。

我知道使用转换器是一种解决方案,但我有很多这样的场景,因此我最终可能会使用多个转换器,这不是一个好主意。我相信使用 StringFormat 我可以实现它。但我遗漏了一些东西。

最佳答案

您可以添加对 Resources 命名空间的引用,然后将另一个 Binding 添加到您的 MultiBinding

示例(未经测试)

   xmlns:p="clr-namespace:MyApplication.Properties"

<TextBlock Height="30" >
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} -- {2} {1:C}!">
<Binding Path="Description"/>
<Binding Path="Price"/>

<Binding Path="{x:Static p:Resources.Nowonly}"/>
<!-- Or possibly Source instaed of Path as mentioned by @dkozl -->
<Binding Source="{x:Static p:Resources.Nowonly}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

关于c# - 如何使用 XAML 中的资源值和绑定(bind)值格式化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26765979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com