2013-04-03 4 views
1

В моем WP8 мне захотелось переместить местоположение текстового блока из существующего места в новое место (x, y). Я попытался с помощьюКак перемещать местоположение текстового блока прогаматично

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

, но он не может изменить расположение TextBlock. Есть ли что-нибудь для этого?

ответ

1

Если вы хотите переместить текстовое поле внутри данной сетки/холста, вы можете программно установить маржу.

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

просто настроить значения на основе где/как вы хотите, чтобы переместить его

3

Чтобы использовать Canvas.SetLeft и SetTop, текстовое поле должно быть дочерним элементом Canvas. Эти методы не работают, если элемент управления находится в другом элементе управления.

В качестве альтернативы вы можете сделать следующее:

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

В этом случае контроль не нужно быть внутри холста.

Смежные вопросы