2016-06-09 6 views
0

В настоящее время я пытаюсь заставить три пользовательских элемента управления работать вместе, на месте у меня есть панель док-станции, которую я добавляю. Тем не менее я не могу получить расположение идеально, я бы предпочел, чтобы не добавить пользовательский элемент управления 1 в пользовательском элементе управления 2.У меня проблема с WPF Layout с пользовательскими элементами управления

Example of layout

Edit: Представьте себе, что образ пишется Достичь и не получения идеальной.

ответ

1

Если вы хотите управления 1, чтобы быть выше Control 2 и не содержится в нем, поместите их в сетку и дать управления 1 высшее ZIndex:

<Grid> 
    <Control1 Grid.ZIndex="2" /> 
    <Control2 Grid.ZIndex="1" /> 
    <Control3 Grid.ZIndex="1" /> 
</Grid> 

Here is the MSDN для справки.

1

Нет, вы не можете сделать это в DockPanel без уродливого манипулирования полями. 1 и 2 должны быть на холсте:

<Canvas x:Name="canvas"> 
     <Grid> 
      <!-- usercontrol 1--> 
      <TextBlock Text="1" 
         HorizontalAlignment="Center" 
         VerticalAlignment="Center"/> 
     </Grid> 
     <DockPanel Background="Transparent" 
        Height="{Binding ActualHeight, ElementName=canvas}" 
        Width="{Binding ActualWidth, ElementName=canvas}"> 
      <!-- usercontrol 2--> 
      <TextBlock Text="2" 
         HorizontalAlignment="Center" 
         VerticalAlignment="Center"/> 
     </DockPanel> 
</Canvas> 
+0

Спасибо за ответ, я могу добавить их на холст, однако у меня возникают трудности с их добавлением в правильное положение. 'Canvas.SetTop (m, 1000);' я пытался установить до и после children.add. – Bish25

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