J'ai un Grid
que j'utilise essentiellement comme un bouton dont j'ai besoin de changer le dégradé de couleur du fond vers un autre dégradé lorsque le bouton de la souris est enfoncé. Lorsque le bouton de la souris est relâché, revenez à la couleur d'origine. De plus, je devrai aussi effectuer une action. J'essaye d'accomplir ceci dans le code derrière mais peut-être ceci peut être fait dans le xaml? Je vais à ce sujet comme la personnalisation d'un bouton à l'aspect et la sensation dont j'avais besoin s'avérait être plus difficile. Comment puis-je m'y prendre?WPF - Changer la couleur de la grille arrière sur MouseLeftButtonDown
XAML:
<DockPanel LastChildFill="True" Width="40" Height="40" Margin="22,20,22,5">
<Border BorderThickness="0,1,0,0" DockPanel.Dock="Top" BorderBrush ="#747474" />
<Border BorderThickness="1,0,0,0" DockPanel.Dock="Left">
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#747474" Offset="0"/>
<GradientStop Color="#464648" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
</Border>
<Border BorderThickness="0,0,1,0" DockPanel.Dock="Right">
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#747474" Offset="0"/>
<GradientStop Color="#464648" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
</Border>
<Border BorderThickness="0,1,0,0" DockPanel.Dock="Bottom" BorderBrush ="#464648" />
<Grid Width="38" Height="38">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#585858" Offset="0"/>
<GradientStop Color="#464648" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Source="/common/printer_20.png" Stretch="None" />
</Grid>