如何以编程方式移动文本块位置

时间:2013-04-03 16:01:22

标签: c# windows-phone-8 textblock

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

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

但无法更改文本块位置。有什么好办法吗?

3 个答案:

答案 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()