在XAML中根据数值显示图像

16

如何根据 XAML 中的值显示图像?

我有性别枚举。

[DataContract(Name = "Gender")]
public enum GenderEnum
{
    [EnumMember] NotSpecified,
    [EnumMember] Male,
    [EnumMember] Female,
}

在我的模型类中,我有一个名为"Gender"的枚举类型属性。现在我想通过XAML来根据"Gender"的值显示一张图片。


1
在DataTemplate内部?那么你可以使用触发器。 - H H
1个回答

31

XAML:

   <Image Tag="{Binding Gender}" Width="48" Height="48">
      <Image.Style>
        <Style TargetType="Image">
            <Style.Triggers>
                <DataTrigger  Binding="{Binding Gender}" Value="Male">
                    <Setter Property="Source" Value="/Resources/Client_Male.png"/>
                </DataTrigger >
                <DataTrigger  Binding="{Binding Gender}" Value="Female">
                    <Setter Property="Source" Value="/Resources/Client_Female.png"/>
                </DataTrigger >
            </Style.Triggers>
        </Style>
      </Image.Style>
     </Image>

2
这是比通常的“你必须创建一个转换器 bla bla bla”更清晰的解决方案,谢谢! - Monsignor
Tag属性中指定绑定的图像中,<Image.Style>中的所有DataTrigger绑定应该引用图像的Tag,即Binding="{Binding Path=Tag, RelativeSource={RelativeSource Self}}" - zmechanic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接