제가 WPF 공부하는 도중 style 을 여러번 만지다가 이제 Template를 자주 수정하게 되서 하나하나 수정해가며 만들던 도중 모든 내용은 다 똑같은데 Template 안에서 일부분만 수정하고 싶은게 생겨서 평소에는 스타일 전체를 복사해서 그 부분만 수정해서 key 이름을 바꿔가며 사용했는데 이러다보니깐 리소스 사전 코드줄이 엄청 길어지더라구요
예를들어
<Style x:Key="MainType" TargetType="{x:Type TreeViewItem}">
<Setter Property="Foreground" Value="#FFFFFF"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Margin" Value="0,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MinHeight="19"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Rectangle x:Name="HorLn" Margin="6,0,5,0" Height="1" Stroke="#DCDCDC" SnapsToDevicePixels="True" StrokeDashCap="Square" StrokeDashArray="0,3"/>
<Rectangle x:Name="VerLn" Width="1" Stroke="#DCDCDC" Margin="0,7,1,-5" Grid.RowSpan="2" SnapsToDevicePixels="true" Fill="White" StrokeDashCap="Square" StrokeDashArray="0,3"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="{StaticResource RectangleToggleButton}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
위의 스타일에서
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="{StaticResource RectangleToggleButton}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"/>
토글 버튼의 style 부분만 바꾸려고 할 시 쉽게 바꾸는 팁 같은게 있을까요?