如何在WPF按钮控件的Click事件中设置画布(Canvas)的ZIndex?

13

我有三个按钮并排放置。我希望点击一个按钮时,该按钮能够显示在所有按钮的顶部。因此,我在XAML代码中设置了画布的ZIndex。但是我想在Code Behind中完成这个操作。

我的XAML输出和代码:

image

<Button Name="Button1" Canvas.ZIndex="3" Content="Button1" Canvas.Top="100" Width="163" Height="58" FontSize="26" Click="Button1_Click" />
<Button Name="Button2" Canvas.ZIndex="2" Content="Button1" Canvas.Top="100" Canvas.Left="130" Width="163" Height="58" FontSize="26" Click="Button2_Click" />
<Button Name="Button3" Canvas.ZIndex="1" Content="Button1" Canvas.Top="100" Canvas.Left="260" Width="163" Height="58" FontSize="26" Click="Button3_Click" />

我的XAML输出和代码(查看ZIndex是如何更改的) -

image

<Button Name="Button1" Canvas.ZIndex="3" Content="Button1" Canvas.Top="100" Width="163" Height="58" FontSize="26" Click="Button1_Click" />
<Button Name="Button2" Canvas.ZIndex="2" Content="Button1" Canvas.Top="100" Canvas.Left="130" Width="163" Height="58" FontSize="26" Click="Button2_Click" />
<Button Name="Button3" Canvas.ZIndex="1" Content="Button1" Canvas.Top="100" Canvas.Left="260" Width="163" Height="58" FontSize="26" Click="Button3_Click" />

我如何在WPF按钮控件的Click事件中更改Canvas.ZIndex属性?

3个回答

32

您可以像这样在代码中设置Z轴索引:

Panel.SetZIndex(control name, int index);

7
附加属性通常使用SetPropertyName函数从代码中设置。
Panel.SetZIndex(Button2, 0);

2
我更喜欢使用Panel方法,因为它是在那里声明的。而且ReSharper警告通过派生类访问静态成员。 - Jørn Jensen

1

z-index可以像这样设置。

 Panel.SetZIndex(Button2, 10);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接