2

在我的 WP8 中,我想将文本块位置从现有位置移动到新位置(x,y)。我尝试使用

Canvas.SetTop(text1, y);
Canvas.SetLeft(text1, x);

但它无法更改文本块的位置。有没有最好的方法来做到这一点?

4

3 回答 3

5

为了使用 Canvas.SetLeft 和 SetTop,文本框需要是 Canvas 控件的子控件。如果控件位于不同的控件中,这些方法将不起作用。

或者,您可以执行以下操作:

text1.RenderTransform = new TranslateTransform {
    X = 10,
    Y = 20
}

在这种情况下,控件不需要位于画布内。

于 2013-04-03T16:15:55.930 回答
3

如果您想在给定的网格/画布内移动文本框,您可以以编程方式设置边距。

 textBlock.Margin = new Thickness(left, top, right, bottom);

只需根据您要移动的位置/方式调整值

于 2013-04-03T16:28:53.173 回答
0

调用元素UpdateLayout()Canvas

于 2013-04-03T16:04:45.177 回答