ボタン コントロール スタイルがあり、2 ピクセルのオフセットが必要なグリフを調整するために、データ バインドされたバージョンからパディングを変更したいと考えています。例として、SimpleStyles.xaml の SimpleButton を使用します (... 簡潔にするためにトリガー コードが削除された場所を示しています)。
<Style x:Key="SimpleButton" TargetType="{x:Type Button}" BasedOn="{x:Null}">
<Setter Property="FocusVisualStyle" Value="{DynamicResource SimpleButtonFocusVisual}"/>
<Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<!-- We use Grid as a root because it is easy to add more elements to customize the button -->
<Grid x:Name="Grid">
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
<!-- Content Presenter is where the text content etc is placed by the control. The bindings are useful so that the control can be parameterized without editing the template -->
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
</Grid>
...
</Setter.Value>
</Setter>
</Style>
私がやりたいことは、Padding="{TemplateBinding Padding}" の場所に余分なマージンを追加することです。Padding="{TemplateBinding Padding} + 2,0,0,0" のようなもの。
それに XAML 構文はありますか? そうでない場合、コードでこれを行うときの最善の方法はありますか (Decorator?)?