2010-05-14 24 views
11

Tôi đang cố gắng hiển thị một hình ảnh khác khi nút bị tắt; Tôi nghĩ rằng nó sẽ được dễ dàng với gây nên.Làm cách nào để thay đổi hình ảnh khi nút bị tắt?

Tuy nhiên, tôi không thể lấy nguồn hình ảnh để chuyển sang hình ảnh bị tắt khi nút bị tắt. Tôi đã thử cài đặt trình kích hoạt trên cả hình ảnh và nút. Có gì sai với những gì tôi có dưới đây? Làm cách nào để thay đổi nguồn hình ảnh khi nút được bật/tắt?

<Button 
     x:Name="btnName" 
     Command="{Binding Path=Operation}" 
     CommandParameter="{x:Static vm:Ops.OpA}"> 
      <Button.Content> 
       <StackPanel> 
        <Image 
        Width="24" 
        Height="24"    
        RenderOptions.BitmapScalingMode="NearestNeighbor" 
        SnapsToDevicePixels="True" 
        Source="/MyAssembly;component/images/enabled.png"> 
         <Image.Style> 
          <Style> 
           <Style.Triggers> 
            <DataTrigger Binding="{Binding ElementName=btnName, Path=Button.IsEnabled}" Value="False"> 
             <Setter Property="Image.Source" Value="/MyAssembly;component/images/disabled.png" /> 
            </DataTrigger> 
           </Style.Triggers> 
          </Style> 
         </Image.Style> 
        </Image> 
       </StackPanel> 
      </Button.Content> 
     </Button> 

Trả lời

23

Vâng cái này bật lên một chút.

Bất kỳ thuộc tính nào được đặt rõ ràng trong khai báo của đối tượng không thể thay đổi theo kiểu. Vì vậy, vì bạn đã đặt thuộc tính Nguồn của hình ảnh trong khai báo hình ảnh, Setter của phong cách sẽ không chạm vào nó.

Hãy thử điều này thay vì:

<Image 
    Width="24" 
    Height="24"    
    RenderOptions.BitmapScalingMode="NearestNeighbor" 
    SnapsToDevicePixels="True" 
    > 
    <Image.Style> 
     <Style TargetType="Image"> 
      <Setter Property="Source" 
        Value="/MyAssembly;component/images/enabled.png" /> 
      <Style.Triggers> 
       ... your trigger and setter ... 
      </Style.Triggers> 
     </Style> 
    </Image.Style> 
</Image> 
+0

tôi sẽ cung cấp cho rằng một try- Cảm ơn phản hồi nhanh chóng, cộng với lời giải thích và ví dụ! –

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