xaml 条件字符串格式

Gui*_*e07 5 c# data-binding xaml binding

我想制作一个binding“有条件”价格格式。

更准确地说,如果另一个属性在true:显示价格不带百分比,如果是在false,显示价格带百分比。有没有办法用 xaml 处理这种情况,还是应该在我的代码隐藏代码中创建一个字符串价格属性?

Ego*_*ina 5

您可以DataTrigger像这样使用WPF DataBinding 和条件表达式。对于其他格式的值,您可以使用不同的Converters.

例如:

<UserControl.Resources>
    <converters:ToPercentage x:Key="ToPercentage"/>
</UserControl.Resources>

<TextBox>
    <TextBox.Style>
        <Style TargetType="TextBox">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=AnotherProperty}" Value="True">
                    <Setter Property="Text" Value="{Binding Path=Price}"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=AnotherProperty}" Value="False">
                    <Setter Property="Text" Value="{Binding Path=Price, Converter={StaticResource ToPercantage}}"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>
Run Code Online (Sandbox Code Playgroud)