Вы знаете какой-либо способ присвоить новое положение элементу после какого-либо действия (например, нажатие кнопки)?WPF-изменение положения объекта
Давайте предположим, что в моем WPF У меня есть прямоугольник с именем «Windajo», и я хочу, чтобы изменить свою позицию Y быть actual_Y_position + 10.
Я понятия не имею, как получить фактическое положение и только Funtion что мне удалось изменить позицию с Margin
. Многие люди повторяют Canvas
, но я не мог заставить его работать.
Мне удалось изменить положение объекта с помощью Margin, но это (я думаю) расстояние от границы MainWindow и использование его довольно раздражает.
private async void button_Click(object sender, RoutedEventArgs e)
{
int i = 300;
do
{
Windajo.Margin = new Thickness(85, i, 80, 0);
await Task.Delay(500);
i = i - 20;
} while (i > 100);
}
Если повторение последней позиции невозможно, есть ли способ получить аксиальное значение от функции толщины? Например, я хочу назначить «85» от Thickness (85, i, 80, 0)
. к некоторой переменной. Как это сделать?
Я хотел был бы сделать это внутри кода, как пример выше.
Я очень признателен за любую помощь вы можете предоставить :)
Не используйте поля для абсолютного позиционирования. Вместо этого поставьте Rectangle в холст и установите его свойства Canvas.Left и Canvas.Top. В коде позади вы должны использовать статические методы 'Canvas.SetLeft' и' Canvas.SetTop', например 'Canvas.SetTop (Windajo, Canvas.GetTop (Windajo) - 20);'. – Clemens