2012-06-19 80 views
0

我現在有一個網格中的兩個按鈕具有相同的XAML的影像風格和按鈕樣式。我正在嘗試使按鈕的樣式功能調用網格引用。我可以做按鈕樣式工作,但我遇到了編碼圖像樣式的問題,因此它只是一個調用(xaml的新增功能)。感謝您的幫助提前。柵格參考影像風格和按鈕樣式

<Image> 
    <Image.Style> 
     <Style TargetType="{x:Type Image}"> 
      <Setter Property="Source" 
        Value="edit_32.png" /> 
      <Setter Property="Stretch" 
        Value="Uniform" /> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding IsEditing}" 
          Value="True"> 
        <Setter Property="Source" 
          Value="save_smallest.png" /> 
        <Setter Property="Stretch" 
          Value="Uniform" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Image.Style> 
</Image> 

<Button.Style> 
    <Style TargetType="Button"> 
     <Setter Property="IsEnabled" 
       Value="False" /> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding CanEdit}" 
         Value="True"> 
       <Setter Property="IsEnabled" 
         Value="True" /> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</Button.Style> 

回答

1

想通了我的問題的答案。這組代碼允許我使用雙樣式設置,而只創建一個呼籲按鈕的風格:

<!--SaveEditImageSwitch--> 
<Image x:Key="SaveEditImage" x:Shared="False"> 
    <Image.Style> 
     <Style TargetType="{x:Type Image}"> 
      <Setter Property="Source" 
        Value="edit_32.png" /> 
      <Setter Property="Stretch" 
        Value="Uniform" /> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding IsEditing}" 
          Value="True"> 
        <Setter Property="Source" 
          Value="save_smallest.png" /> 
        <Setter Property="Stretch" 
          Value="Uniform" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Image.Style> 
</Image> 

<!--ButtonEditSaveStyle--> 
<Style TargetType="Button" 
     x:Key="ButtonEditSaveStyle"> 
    <Setter Property="IsEnabled" 
      Value="False" /> 
    <Setter Property="Content" 
      Value="{DynamicResource ResourceKey=SaveEditImage}" /> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding CanEdit}" 
        Value="True"> 
      <Setter Property="IsEnabled" 
        Value="True" /> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

<Button Width="32" 
     Height="22" 
     HorizontalAlignment="Left" 
     VerticalAlignment="Center" 
     Name="gdEmployeeInfo_btnUpdateRecord" 
     Click="gdEmployeeInfo_btnUpdateRecord_Click" 
     Style="{DynamicResource ResourceKey=ButtonEditSaveStyle}">