StackPanel покажет Frame in Layout в WPF и xaml
Я создаю 4 стека в одной DockPanel
Какая панель просто рамное окно
затем я создаю сетку, включающую левую панель стека и правую панель стека
А пока я добавляю кнопку в Bottom Frame, чтобы переключать Hide влево и вправо
и показать VCenter Frame или инвертировать. Но я не знаю, чтобы сделать эту функцию.
Некоторые предлагают для меня?
<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>
MainWindow_Loaded
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());
}
Список файлов
если я хочу создать полную стековую панель, как мне ее реализовать.
1 ответ
Решение
Я получаю решение для реализации.
MainWindow rootwindow = (MainWindow)Application.Current.MainWindow;
rootwindow.spMainLeft.Visibility = Visibility.Hidden;
rootwindow.spMainRight.Visibility = Visibility.Hidden
rootwindow.pageBottom.lblBottom.Content = "Change";