gpt4 book ai didi

c# - 在没有数据绑定(bind)的情况下在 XAML 中应用值转换器

转载 作者:行者123 更新时间:2023-12-05 01:47:36 24 4
gpt4 key购买 nike

我的 View 中有一个 TextBlock,我希望始终显示转换为本地货币的数字 1。 (例如,美国为 1 美元,英国为 1 英镑等)。我有一个可以执行此操作的值转换器,但我不知道如何在不从数据绑定(bind)获取数据的情况下将值转换器应用于值 1。

我可以想到两种解决方案,但它们各有各的问题,我正在寻找更优雅的解决方案:

  1. 在我的 ViewModel 上创建一个属性,它只保存并返回值 1 并绑定(bind)到它。然后将我的转换器添加到此绑定(bind)中。这似乎是倒退的,尤其是因为这是仅供查看的代码。

  2. 绑定(bind)一个现有属性并修改我的转换器以忽略赋予它的值,而是使用参数为其赋予数字 1。这对其他程序员来说感觉不直观,因为他们会对我为什么绑定(bind)到那里的不同属性感到困惑。

有没有什么方法可以在不先创建绑定(bind)的情况下应用转换器?

最佳答案

如果您希望单独从 XAML 中获得相对可读性,您始终可以这样做:

<Label>
<Label.Resources>
<system:Int32 x:Key="defaultValue">1</system:Int32>
</Label.Resources>
<Label.Content>
<Binding Source="{StaticResource defaultValue}"
Converter="{StaticResource CurrencyConverter}" />
</Label.Content>
</Label>

关于c# - 在没有数据绑定(bind)的情况下在 XAML 中应用值转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23680650/

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