我如何使画布在一个事件可见
本文关键字:一个 事件 何使画 | 更新日期: 2023-09-27 17:51:16
我有以下问题,我想通过一个按钮点击生成一个小画布,生成后我想通过一个键按事件移动它,但我不能在事件中看到画布。我怎样才能使它可见?(WPF的源代码中没有XAML)
public void Button_Click_1(object sender, RoutedEventArgs e)
{
Canvas c = new Canvas();
c.Height = System.Windows.SystemParameters.PrimaryScreenHeight;
c.Width = System.Windows.SystemParameters.PrimaryScreenWidth;
c.Loaded += c_Loaded;
Grid.Children.Add(c);
Canvas ship = new Canvas();
ship.Background = Brushes.Aquamarine;
ship.Height = 30;
ship.Width = 30;
ship.KeyDown += ship_KeyDown;
Canvas.SetTop(ship, 50);
c.Children.Add(ship);
}
void ship_KeyDown(object sender, KeyEventArgs e)
{
canvas.Setleft(ship, canvas.Getleft(ship) +10); //here i can not see the object "ship" :(
}
使用参数sender:
Canvas ship = (Canvas) sender;
您需要将您的c或ship添加到layoutroot '
最简单的方法是将其添加到UIElement
的<list>
并使用foreach
循环修改