我有一些矩形用户控件。如何将它放在画布中的某个x-y坐标上?一旦我放置了用户控件,我需要根据先前放置的控件的渲染宽度/高度来评估位置以放置下一个控件。如何在Silverlight中正确执行这些操作。
答案 0 :(得分:2)
要将控件放在画布面板中,可以使用Canvas类的附加属性Canvas.Left和Canvas.Top。因此,如果您希望将控件定位在100,20(相对于画布的左上角),则应输入:
<Canvas>
<Rectangle Canvas.Left="100" Canvas.Top="20"/>
</Canvas>
或者,您可以在代码隐藏中使用它:
yourControl.SetValue(Canvas.LeftProperty,100.0);
yourControl.SetValue(Canvas.TopProperty,20.0);
如果你有几个控件,你试图动态排列,你可能要考虑使用Canvas的StackPanel或Grid intead。