C# 如何以编程方式移动textblock位置

C# 如何以编程方式移动textblock位置,c#,windows-phone-8,textblock,C#,Windows Phone 8,Textblock,在我的WP8中,我想将textblock位置从现有位置移动到新位置x,y。 我试着用 Canvas.SetTop(text1, y); Canvas.SetLeft(text1, x); 但它无法更改文本块的位置。有什么最佳方法可以做到这一点吗?调用Canvas元素。调用Canvas元素。要使用Canvas.SetLeft和SetTop,文本框需要是Canvas控件的子控件。如果控件位于其他控件中,则这些方法不起作用 或者,您可以执行以下操作: text1.RenderTransform =

在我的WP8中,我想将textblock位置从现有位置移动到新位置x,y。 我试着用

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

但它无法更改文本块的位置。有什么最佳方法可以做到这一点吗?

调用Canvas元素。

调用Canvas元素。

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

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

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

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

要使用canvas.SetLeft和SetTop,文本框需要是画布控件的子控件。如果控件位于其他控件中,则这些方法不起作用

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

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

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

如果要在给定网格/画布内移动文本框,可以通过编程方式设置边距

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

只需根据移动位置/方式调整值即可

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

 textBlock.Margin = new Thickness(left, top, right, bottom);
只需根据移动位置/方式调整值