以下xaml代码是我正在使用的四个资源。我想将两个样式资源和两个数据模板分别合并为一个样式资源和一个数据模板。如果所有这些都可以合并到一个资源中,那将是非常高兴的事情。
感谢帮助!
<Style x:Key="ServiceStatusImageStyle" TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding ServiceStatus}" Value="true">
<Setter Property="Source" Value="/Resources/Images/StartedService.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding ServiceStatus}" Value="false">
<Setter Property="Source" Value="/Resources/Images/StopedService.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DrawModeImageStyle" TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding bScrollViewMode}" Value="true">
<Setter Property="Source" Value="/Resources/Images/scrollview24.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding bScrollViewMode}" Value="false">
<Setter Property="Source" Value="/Resources/Images/zoomview24.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
<DataTemplate x:Key="ServiceStatusDataTemplate" DataType="{x:Type local:MainWindowViewModel}">
<Grid Width="220" Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Width="30" Height="30" Margin="5,0,0,0" Style="{StaticResource ServiceStatusImageStyle}"/>
<TextBlock Grid.Column="1" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5,0,0,0"
Foreground="White" Text="{Binding ServiceStatusString}">
</TextBlock>
</Grid>
</DataTemplate>
<DataTemplate x:Key="DrawModeDataTemplate" DataType="{x:Type local:MainWindowViewModel}">
<Grid Width="220" Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Width="30" Height="30" Margin="5,0,0,0" Style="{StaticResource DrawModeImageStyle}"/>
<TextBlock Grid.Column="1" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5,0,0,0"
Foreground="White" Text="{Binding ViewModeName}">
</TextBlock>
</Grid>
</DataTemplate>