2015-01-30 2 views
0

DockPanel 컨트롤에 두 개의 확장자가 있습니다. 맨 위에있는 첫 번째 확장기는 isExpanded true로 설정되고 다른 확장기는 그렇지 않습니다.WPF 확장기 펼치기 및 접기

난 그냥 여기

내 XAML 코드입니다 ... 두 번째 확장기가 처음 확장기가 실행시에 허위는 true로 설정 될 때마다 위로 가고 싶어 작성자 :

<DockPanel LastChildFill="False" Margin="0,26,0,0" Background="#FF552D2D" HorizontalAlignment="Left" Width="149"> 
     <StackPanel ScrollViewer.VerticalScrollBarVisibility="Auto"> 
      <Expander x:Name="AdminManage" Header="Manage" Margin="0" Foreground="#FF14D0EE" Height="198" IsExpanded="True" Collapsed="AdminManage_Collapsed" Width="544"> 
       <StackPanel x:Name="AdminStackPanel" Height="177" Margin="0,0,-2,0"> 
        <Button Content="" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" Margin="23,0,0,0" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
       </StackPanel> 
      </Expander> 
      <Expander Header="Account" Margin="0" VerticalAlignment="Top" Foreground="#FF14D0EE" Height="66"> 
       <StackPanel Height="44" Margin="0,0,-2,0"> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
        <Button Content="" Margin="23,0,0,0" Background="#FF552D2D" BorderBrush="{x:Null}" BorderThickness="0" Opacity="0.5" Foreground="White" VerticalAlignment="Center" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Width="124"/> 
       </StackPanel> 
      </Expander> 
     </StackPanel> 
    </DockPanel> 
+0

1 차 확장기가있을 때 2 차 확장기가 1 차 확장기 아래에있는 것처럼 보일 수 없습니다. 실행시 isExpanded = false 일 때 –

+0

Yo 두 번째 확장기에 대해 "올라간다"다음 "아래로"라고 말합니다. 일반적인 용어 (이동, 확장)로 명확히하십시오. – Kilazur

답변

2

을 변경할 때마다 확장기의 부착 Grid.Row 속성을 변경할 것 AdminManage Expander, 예상대로 작동하는지 테스트합니다.

1

아래 이동을 할 확장기 확장을 의미합니까?
그렇다면 다음과 같은 요소 바인딩을 수행 할 수 있습니다. 또한 첫 번째 확장기의 부울 값을 반전하려면 변환기가 필요합니다. 그렇지

  <Expander Header="Account" Margin="0" VerticalAlignment="Top" Foreground="#FF14D0EE" Height="66" 
IsExpanded="{Binding IsExpanded, ElementName=AdminManage, Converter={StaticResource InvertBooleanConverter}" 
       <StackPanel Height="44" Margin="0,0,-2,0"> 
       <!-- your content here --> 
       </StackPanel> 
      </Expander> 

당신이 자신의 위치를 ​​교환하는 의미 경우에서 Height 속성을 제거합니다 StackPanel 대신 Grid 내부의 확장기를 추가하고 IsExpanded

관련 문제