我正在尝试将我创建的控件放在我的Canvas
. 这个想法是能够动态地动态添加它们。就像在按钮上单击或在DispatchTimer
. 我有以下内容,但它不起作用:
FirstCircleControl mc = new FirstCircleControl();
Canvas.SetLeft(mc, 100);
Canvas.SetTop(mc, 100);
我没有看到任何控件出现...
我正在尝试将我创建的控件放在我的Canvas
. 这个想法是能够动态地动态添加它们。就像在按钮上单击或在DispatchTimer
. 我有以下内容,但它不起作用:
FirstCircleControl mc = new FirstCircleControl();
Canvas.SetLeft(mc, 100);
Canvas.SetTop(mc, 100);
我没有看到任何控件出现...
您需要将控件添加到第Canvas
一个。
yourCanvas.Children.Add(mc)
将控件放置在画布或网格中是一个两步过程。
您已经完成了第二步,但缺少第一步。
对于画布
Button childButton = new Button();
LayoutCanvas.Children.Add(childButton);
Canvas.SetLeft(childButton, 120);
Canvas.SetTop(childButton, 120);
对于网格
Button childButton = new Button();
LayoutGrid.Children.Add(childButton);
Grid.SetRow(childButton, 2);
Grid.SetColumn(childButton, 2);
另一种(在某些情况下更容易)的方法是从UIElement
侧面:
(controlItem as UIElement).SetValue(Canvas.TopProperty, topVal);
(controlItem as UIElement).SetValue(Canvas.LeftProperty, left);