首页 > 解决方案 > 如何在 UWP 中通过 c# 代码更改 Canvas.Zindex 属性

问题描述

我想在我使用的按钮单击时通过 c# 更改 Canvas.Top 值

Canvas.SetZIndex(Button1, 4); 但它给出了错误。

标签: vectoruwp-xaml

解决方案


我想在我使用的按钮单击时通过 c# 更改 Canvas.Top 值

如果你想改变 Canvas.Top 下按钮的值Canvas,你可以使用Canvas.SetTop静态方法。

Xaml

<Canvas Width="640" Height="480" >
    <Button Name="Btn" Canvas.Left="30" Canvas.Top="30" 
     Background="Red" Width="200" Height="200" Click="Button_Click" />
</Canvas>

代码背后

private void Button_Click(object sender, RoutedEventArgs e)
{
    Canvas.SetTop(Btn, 500);
}

但该方法是属性系统的实用方法,在大部分应用场景中不使用。在大多数情况下,您在 XAML 中设置 Canvas.Top XAML 附加属性并且不需要此方法。你可以使用的更好的方法DependencyObject.SetValue。它也有效。

private void Button_Click(object sender, RoutedEventArgs e)
{   
    Btn.SetValue(Canvas.TopProperty, 100);
}

推荐阅读