visual studio redondos redondo redondear redondeados personalizados con botones boton bordes borde wpf triggers controltemplate

wpf - redondear - botones redondos visual studio 2017



¿Cómo puedo configurar una propiedad de un DropShadowEffect a través de un disparador en un ControlTemplate? (1)

Puede establecer el efecto como un todo en el setter.value

<Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" /> <Setter Property="Effect" TargetName="ButtonBorder" > <Setter.Value> <DropShadowEffect ShadowDepth="2" /> </Setter.Value> </Setter> </Trigger>

Tengo un Button ControlTemplate y estoy tratando de modificar un DropShadowEffect en un DropShadowEffect usando un Trigger . Aquí está mi Xaml:

<Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="ButtonBorder" Margin="10" CornerRadius="5" Background="Gray"> <Border.Effect> <DropShadowEffect ShadowDepth="5" x:Name="BorderEffect" /> </Border.Effect> <ContentPresenter HorizontalAlignment="Center" /> </Border> <ControlTemplate.Triggers> <Trigger Property="Button.IsMouseOver" Value="True"> <Setter Property="Background" TargetName="ButtonBorder" Value="LightGray" /> </Trigger> <Trigger Property="Button.IsPressed" Value="True"> <Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" /> <!-- this is where I get the error --> <Setter Property="ShadowDepth" TargetName="BorderEffect" Value="2" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template>

Recibo un error que indica que no se puede encontrar BorderEffect.
También he intentado:

<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />

Pero también recibo un error que me dice que la propiedad ShadowDepth no se pudo encontrar en el objeto de tipo Effect (porque está usando la clase base en lugar de DropShadowEffect )

¿Como puedo resolver esto?