Tengo un estilo de control de botones y deseo cambiar el relleno de lo que sea la versión enlazada a datos para ajustar para un glifo que necesita un desplazamiento de 2 píxeles. Voy a usar SimpleButton de SimpleStyles.xaml como un ejemplo (... muestra donde se extirpó el código de activación para la concisión):Puede hacer "matemática" dentro de WPF Estilos enlazados a datos
<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>
Lo que quiero hacer es añadir un poco de margen extra donde Relleno = "{TemplateBinding Relleno}". Algo así como Padding = "{TemplateBinding Padding} + 2,0,0,0".
¿Hay una sintaxis XAML para eso? Si no, ¿hay un mejor enfoque al hacer esto en el código (Decorador?)?
¿Puede dar un ejemplo de usar un convertidor de valor para hacer estas operaciones matemáticas, me parece más un mal uso. –