如何在Silverlight中动态地将控件放在画布上?

Ry.*_*Ry. 5 c# silverlight canvas

我正在尝试将我创建的控件放在我的上面Canvas.我们的想法是能够动态地动态添加它们.就像点击按钮或结束时一样DispatchTimer.我有以下,但它不起作用:

    FirstCircleControl mc = new FirstCircleControl();
    Canvas.SetLeft(mc, 100);
    Canvas.SetTop(mc, 100);
Run Code Online (Sandbox Code Playgroud)

我没有看到任何控件出现......

sip*_*wiz 6

您需要将控件添加到第Canvas一个.

yourCanvas.Children.Add(mc)
Run Code Online (Sandbox Code Playgroud)


Bra*_*row 6

将控件放在画布或网格中需要两个步骤.

  1. 将控件添加到容器的子集合中
  2. 在容器中设置控件的位置

你已经迈出了第二步,但却缺少了第一步.

对于画布

Button childButton = new Button();
LayoutCanvas.Children.Add(childButton);
Canvas.SetLeft(childButton, 120);
Canvas.SetTop(childButton, 120);
Run Code Online (Sandbox Code Playgroud)

对于网格

Button childButton = new Button();
LayoutGrid.Children.Add(childButton);
Grid.SetRow(childButton, 2);
Grid.SetColumn(childButton, 2);
Run Code Online (Sandbox Code Playgroud)