2012-06-19 20 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}">