2017-11-23 9 views
0

私は1 DockPanelその後、私は左のStackPanelを含めるようにグリッドを作成するパネルだけでフレームウィンドウのStackPanelショーWPFのレイアウトでフレームとXAML

4 StackPanel

で4のStackPanelを作成し、今の私は切り替えるように、下のフレームにボタンを追加 3 StackPannel

右StackPannelは、左と右の

を隠します

と表示VCenterフレームまたは反転します。しかし、私はこの機能を行うことは考えていません。

私には何か提案がありますか?

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    x:Class="PanelUserCtrlSample.MainWindow" 
    Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded"> 
<DockPanel LastChildFill="True"> 
    <StackPanel DockPanel.Dock="Top" Width="Auto" Height="50" Background="Red"> 
     <Frame x:Name="frmMainTop" NavigationUIVisibility="Hidden"> 
     </Frame> 
    </StackPanel> 
    <StackPanel DockPanel.Dock="Bottom" Width="Auto" Height="50" Background="Blue"> 
     <Frame x:Name="frmMainBottom" NavigationUIVisibility="Hidden"> 
     </Frame> 
    </StackPanel> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="83*"/> 
      <ColumnDefinition Width="434*"/> 
     </Grid.ColumnDefinitions> 

     <!--Full Screen--> 

     <!--<StackPanel DockPanel.Dock="" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Background="Black"> 
      <Frame x:Name="frmMainFull" NavigationUIVisibility="Hidden"> 

      </Frame> 
     </StackPanel>--> 

     <!--VCenter--> 
     <StackPanel DockPanel.Dock="Left" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Background="Black"> 
      <Frame x:Name="frmMainVCenter" NavigationUIVisibility="Hidden"> 

      </Frame> 
     </StackPanel> 

     <!--left--> 
     <StackPanel DockPanel.Dock="Left" Grid.Column="0" Width="Auto" Height="Auto" Background="Green"> 
      <Frame x:Name="frmMainLeft" NavigationUIVisibility="Hidden"> 

      </Frame> 
     </StackPanel> 

     <!--Right--> 
     <StackPanel Grid.Column="1" Background="Pink"> 
      <Frame x:Name="frmMainRight" NavigationUIVisibility="Hidden"> 

      </Frame> 
     </StackPanel> 
    </Grid> 
</DockPanel> 

は、ファイルリスト、私はそれを実装するにはどうすればよい

enter image description here

私は完全のStackPanelを作成したい場合は、

private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     frmMainTop.NavigationService.Navigate(new PageTop1()); 
     frmMainLeft.NavigationService.Navigate(new PageLeft1()); 
     frmMainRight.NavigationService.Navigate(new PageRight1()); 
     frmMainBottom.NavigationService.Navigate(new PageBottom1()); 
    } 

をMainWindow_Loaded。

答えて

0

私は実装の解決策を得ます。

MainWindow rootwindow = (MainWindow)Application.Current.MainWindow; 
rootwindow.spMainLeft.Visibility = Visibility.Hidden; 
rootwindow.spMainRight.Visibility = Visibility.Hidden 
rootwindow.pageBottom.lblBottom.Content = "Change"; 
関連する問題