2013-05-28 3 views
-1

у нас есть три элемента управления внутри stackpannel теперь я хочу динамически менять позицию управления. У нас есть поиск в Google, но мы не нашли решения.Как установить детскую позицию динамически в WPF

решите пожалуйста.

thanx заранее.

+0

Просто чтобы быть ясно: Вы хотите свободно разместить эти элементы, как в графическом или графическом приложении. Или вы хотите изменить порядок элементов, например вкладки в браузере, чтобы изменить свою позицию в списке? – dowhilefor

ответ

5

Если вы меняете положение элементов внутри контейнера, то StackPanel является неправильным контейнером для использования. Он предназначен для складывания (!) Элементов друг над другом (или вдоль друг друга) с интервалом, определяемым полями для каждого элемента.

Если вы хотите перемещать вещи, вам понадобится Canvas. С помощью этого вы можете изменить положение элементов на холсте из кода.

Например, если вы следующее:

<Canvas> 
    <Rectangle x:Name="Rectangle1" Canvas.Left="40" Canvas.Top="31" 
       Width="63" Height="41" Fill="Blue" /> 
    <Ellipse x:Name="El;ipse1" Canvas.Left="130" Canvas.Top="79" 
      Width="58" Height="58" Fill="Blue" /> 
    <Path x:Name="Path1" Canvas.Left="61" Canvas.Top="28" 
      Width="133" Height="98" Fill="Blue" 
      Stretch="Fill" Data="M61,125 L193,28"/> 
</Canvas> 

Вы можете изменить положение элементов, как это:

Rectangle1.SetValue(Canvas.TopProperty, 45); 
Rectangle1.SetValue(Canvas.LeftProperty, 60); 
+0

спасибо за данный ответ. –

+0

, но у нас есть три разных элемента управления, таких как изображение, просмотр списка, слайд-изображение, которое является пользовательским элементом управления. Можно установить зелье с тремя различными элементами управления. –

+0

@jadavsuresh - да, просто замените «Прямоугольник», «Эллипс» и «Путь» на свои элементы управления. – ChrisF

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