Предостережение: Я предполагаю, что это:
Во время выполнения мне нужно изменить расположение объектов в StackPanel.
Вы имеете в виду, что вам нужно иметь возможность установить Left
положение самого StackPanel
(независимо от того, что оно содержит). Если это не то, что вы имеете в виду (например, в вашем примере Xaml нет ничего под названием seekBar
, даже если вы ссылаетесь на это в своем коде), уточните.
Canvas
использует свойства присоединенной зависимости (как и другие элементы макета, такие как Grid
) для отслеживания информации макета о содержащихся элементах. По этой причине вам придется либо использовать функции GetLeft
и SetLeft
для функций Canvas
, GetValue
и SetValue
на StackPanel
для манипулирования этими значениями.
Сделайте это, вам нужно дать вашему StackPanel
имя. Я назову это stack
.
Учитывая ваш пример, вы бы сделали так:
Canvas.SetLeft(stack, 50);
или это:
stack.SetValue(Canvas.LeftProperty, 50);
Обратите внимание, что первая версия (SetLeft
) - это просто оболочка вокруг второй версии, поэтому используйте любую, какую пожелаете.