根据XAML中的值显示图像

问题描述:

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

我有性别枚举

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

在我的模型类我有一个所谓的“性别”枚举类型的属性。 现在我想通过XAML端显示基于“性别”值的图像。

+1

里面一个DataTemplate?然后你可以使用触发器。 –

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> 
+0

这比一般的“你必须创建一个转换器bla bla bla”更清洁的解决方案,谢谢! – Monsignor

+0

通过在图像的'Tag'属性中指定的绑定,''中的所有DataTrigger绑定都应该引用图像的'Tag',即'Binding =“{Binding Path = Tag,RelativeSource = {RelativeSource Self}}''' – zmechanic