我正在尝试将我创建的控件放在Canvas
上。我们的想法是能够动态地动态添加它们。就像点击按钮或DispatchTimer
的结尾一样。我有以下内容,但它不起作用:
FirstCircleControl mc = new FirstCircleControl();
Canvas.SetLeft(mc, 100);
Canvas.SetTop(mc, 100);
我没有看到任何控件出现......
答案 0 :(得分:6)
您需要先将控件添加到Canvas
。
yourCanvas.Children.Add(mc)
答案 1 :(得分:6)
将控件放在画布或网格中需要两个步骤。
你已经迈出了第二步,但却错过了第一步。
适用于画布
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);
答案 2 :(得分:1)
另一种(在某些情况下更容易)这样做的方式来自UIElement
方:
(controlItem as UIElement).SetValue(Canvas.TopProperty, topVal);
(controlItem as UIElement).SetValue(Canvas.LeftProperty, left);