在我的WP8中,我想将文本块位置从现有位置移动到新位置(x,y)。 我尝试使用
Canvas.SetTop(text1, y);
Canvas.SetLeft(text1, x);
但无法更改文本块位置。有什么好办法吗?
答案 0 :(得分:4)
为了使用Canvas.SetLeft和SetTop,文本框需要是Canvas控件的子代。如果控件处于不同的控件中,则这些方法不起作用。
或者您可以执行以下操作:
text1.RenderTransform = new TranslateTransform {
X = 10,
Y = 20
}
在这种情况下,控件不需要在画布内。
答案 1 :(得分:2)
如果要在给定的网格/画布中移动文本框,可以通过编程方式设置边距。
textBlock.Margin = new Thickness(left, top, right, bottom);
根据您想要移动的位置/方式调整值
答案 2 :(得分:0)
在Canvas
元素上调用UpdateLayout()
。