2013-07-31 13 views
11

XAMLの値に基づいて画像を表示するにはどうすればよいですか?XAMLの値に基づいて画像を表示する

私は私が「ジェンダー」と呼ばれるその列挙型のプロパティを持っている私のモデルクラスでは男女列挙

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

を持っています。 XAML側から「性別」の値に基づいて画像を表示したいとします。

+1

?その後、トリガーを使用することができます。 –

答えて

19

XAML:DataTemplateの内部

<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"、ありがとう! – Monsignor

+0

イメージの 'Tag'プロパティに指定されたバインディングを使用すると、' 'のすべてのDataTriggerバインディングは、イメージの 'Tag'を参照する必要があります。' Binding = "{Binding Path = Tag、RelativeSource = {RelativeSource Self}}" – zmechanic

関連する問題