我在WPF中有一个按钮,我正在为它创建一个事件处理程序。 我的目标是在单击按钮时生成凹陷效果。 问题是我尝试了不同的事件处理程序,它似乎没有工作。 我看不到任何影响。有关如何修复的想法吗?
XAML:
<Button x:Name="btnMyAccount">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="165"/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="{StaticResource Home-MyProfile}" />
<TextBlock x:Name="txtMyAccount" Grid.Row="1" FontWeight="Bold">
MY ACCOUNT
</TextBlock>
</Grid>
</Button>
C#代码:
private void btnMyAccount_MouseDown(object sender, MouseButtonEventArgs e)
{
btnMyAccount.BorderThickness = new Thickness(5, 5, 0, 0);
}
答案 0 :(得分:2)
我认为在<Button></Button>
代码中包含某些内容意味着您现在拥有了按钮的自定义模板。您应该使用<Border x:Name="yourBorder"></Border>
围绕网格,然后增加边框thinknes
您必须将按钮模板更改为如下所示:
<Button x:Name="btnMyAccount">
<Border x:Name="yourBorder" BorderBrush="Black" BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="165"/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="{StaticResource Home-MyProfile}" />
<TextBlock x:Name="txtMyAccount" Grid.Row="1" FontWeight="Bold">
MY ACCOUNT
</TextBlock>
</Grid>
</Border>
</Button>
然后在您的事件处理程序中,您将更改yourBorder
厚度:
private void btnMyAccount_MouseDown(object sender, MouseButtonEventArgs e)
{
yourBorder.BorderThickness = new Thickness(5, 5, 0, 0);
}