2013-07-31 45 views
11

Làm cách nào để hiển thị hình ảnh dựa trên giá trị trong XAML?Hiển thị hình ảnh dựa trên giá trị trong XAML

tôi có liệt kê giới

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

Tại lớp mẫu của tôi, tôi có một tài sản của kiểu liệt kê được gọi là "Giới tính". Bây giờ tôi muốn hiển thị một hình ảnh dựa trên giá trị của "Giới tính" thông qua phía XAML.

+1

Bên trong một DataTemplate? Sau đó, bạn có thể sử dụng một kích hoạt. –

Trả lời

19

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

Đó là một giải pháp sạch hơn nhiều so với thông thường "bạn phải tạo ra một công cụ chuyển đổi bla bla bla", cảm ơn! – Monsignor

+0

Với ràng buộc được xác định trong thuộc tính 'Thẻ' của tất cả các liên kết DataTrigger trong' 'nên tham chiếu đến' Thẻ 'của hình ảnh, tức là' Binding = "{Ràng buộc đường dẫn = Thẻ, RelativeSource = {RelativeSource Self}}" – zmechanic

Các vấn đề liên quan