/ / Come evidenziare un pulsante quando viene premuto in WPF xaml - wpf, wpf-controls

Come evidenziare un pulsante quando viene premuto in WPF xaml - wpf, wpf-controls

Ho due stili di pulsanti nel file Styles.xaml come MyStyleButton e MyStyleButtonClick.

Ho applicato MyStyleButton al pulsante esistente come di seguito

Quando si preme Button, vorrei applicare "MyStyleButtonClick" nella pagina xaml usando i trigger per mostrare la differenziazione tra quei pulsanti.

risposte:

0 per risposta № 1

Questo è un esempio di uno stile "GlassButton", con un comportamento diverso quando premuto, attivato sull'evento "IsPressed":

<Style x:Key="GlassButton" TargetType="{x:Type Button}">
<Setter Property="FontSize" Value="42" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="ButtonBorder"
CornerRadius="25,25,25,25"
BorderThickness="4,4,4,4"
Background="#AA000000"
BorderBrush="#99FFFFFF"
RenderTransformOrigin="0.5,0.5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="1.7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" CornerRadius="23,23,0,0">
<Border.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#08FFFFFF" Offset="0"/>
<GradientStop Color="#88FFFFFF" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<ContentPresenter x:Name="ButtonContentPresenter"
VerticalAlignment="Center"
Grid.RowSpan="2"
HorizontalAlignment="Center"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="RenderTransform" TargetName="ButtonBorder">
<Setter.Value>
<TransformGroup>
<ScaleTransform ScaleX="0.9" ScaleY="0.9"/>
</TransformGroup>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>

Il pulsante, con questo stile, sarà codificato in questo modo:

<Button Style="{DynamicResource GlassButton}"
Grid.Column="1"
Margin="0,0,18.577,17.148"
Name="button1"
Height="91.456"
VerticalAlignment="Bottom"
HorizontalAlignment="Right"
Width="207.764">Button</Button>