WPF - 从 XAML 中的 StringFormat 绑定属性访问属性值

Posted

技术标签:

【中文标题】WPF - 从 XAML 中的 StringFormat 绑定属性访问属性值【英文标题】:WPF - access a property value from the StringFormat binding property in XAML 【发布时间】:2018-03-12 02:41:06 【问题描述】:

是否可以从 XAML 中的 StringFormat 绑定属性访问属性值?我的意思是,这是我的 XAML:

<TextBox Name="costBlock" Grid.Row="4" Grid.Column="1" Margin="4" IsEnabled="False"
    Text="Binding DataContext.CalculatedCost, Mode=OneWay, StringFormat=0 €"></TextBox>

我需要将 StringFormat 绑定中的“€”符号替换为所选货币的符号,这是一个静态类中的属性:Settings.SelectedCurrencySymbol。

我该怎么做?

【问题讨论】:

将 MultiBinding 与 IMultiValueConverter 一起使用。 嗨克莱门斯。感谢您的快速回复。可以发个例子吗? 自己尝试一下怎么样?网络上有大量在线文档和示例。 当然!谢谢 【参考方案1】:

感谢 Clemens 的推荐,我找到了这个解决方案:

<TextBlock Name="costBlock" Grid.Row="4" Grid.Column="1" Margin="4" 
    IsEnabled="False">
        <TextBlock.Text>
            <MultiBinding StringFormat="0 1">
                <Binding Path="DataContext.CalculatedCost" />
                <Binding Path="(shared:Settings.SelectedCurrencySymbol)" />
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>

【讨论】:

以上是关于WPF - 从 XAML 中的 StringFormat 绑定属性访问属性值的主要内容,如果未能解决你的问题,请参考以下文章

解读WPF中的Xaml

访问F#中的XAML(WPF)元素

WPF 中.XAML文件如何读取资源文件?

wpf中,如何引用其他xaml文件中的Resources

WPF:将变量从父 xaml 传递到用户控件

wpf : 绑定到另一个 xaml 文件中的控件