enter image description here

Quiero cambiar el contenido del panel principal cuando elijo la acción en el botón de menú. Como la página de contenido principal, la página de configuración, la página de contenido en el panel principal (en el código usado grid x: Name = "main_ ~~~) ¿Se puede usar solo puede hacer 3 y controlar la visibilidad? O ¿Puede usar incluir como xml en Android y cambiar incluir objetivo ?? (ex> includelayout = "@ layout / app_bar_main")

Mainwindow.xaml

<Window x:Class="M_C.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-
compatibility/2006"
        xmlns:local="clr-namespace:M_C"
        mc:Ignorable="d"
        Title="MainWindow"
        Width="1024" Height="768"
        WindowStyle="None"
        WindowState="Maximized"
        WindowStartupLocation="CenterScreen">
    <Grid x:Name="wide_Out" Background="#000000">
        <Viewbox Stretch="Uniform">
            <Grid Width="1024" Height="768" VerticalAlignment="Top">
                <DockPanel x:Name="L_black" HorizontalAlignment="Left" 
Height="768" LastChildFill="False" VerticalAlignment="Top" Width="62" 
Background="#FF242424">
                    <Button Margin="15,8,0,0" Height="40" 
VerticalAlignment="Top" Width="30"/>
                </DockPanel>
                <DockPanel x:Name="T_blue" HorizontalAlignment="Left" 
Height="84" LastChildFill="False" Margin="62,0,0,0" VerticalAlignment="Top" 
Width="968" Background="#FF248BC7">
                    <TextBlock Margin="200,5,200,0" Height="70" 
TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="554"/>
                </DockPanel>
                <DockPanel x:Name="L_blue" HorizontalAlignment="Left" 
Height="685" LastChildFill="False" Margin="62,83,0,0" 
VerticalAlignment="Top" Width="82" Background="#FF248BC7"/>
                <DockPanel x:Name="R_blue" HorizontalAlignment="Left" 
Height="685" LastChildFill="False" Margin="940,83,0,0" 
Background="#FF248BC7" Width="84"/>
                <DockPanel x:Name="B_blue" HorizontalAlignment="Left" 
Height="90" LastChildFill="False" Margin="143,678,0,0" 
VerticalAlignment="Top" Width="799" Background="#FF248BC7">
                    <Image Margin="250,15,250,15" Height="70" 
VerticalAlignment="Top" Width="290" />
                </DockPanel>
                <!--<DockPanel x:Name="main_content_panel" 
HorizontalAlignment="Left" Height="594" LastChildFill="False" 
Margin="144,84,0,0" VerticalAlignment="Top" Width="790">-->
                <Grid x:Name="main_con_body" Margin="143,82,84,88" 
Width="798" Height="594" Background="#ffffff">
                </Grid>
            <!--</DockPanel>-->
         </Grid>
     </Viewbox>
   </Grid>
</Window>
0
Jin_Jin 15 nov. 2017 a las 15:56

2 respuestas

La mejor respuesta

Puede definir el marco dentro de su ventana y navegar entre tantas páginas como desee:

<Frame Name="FrameWithinGrid" >  
</Frame>  

Y al hacer clic en el botón, simplemente puede navegar:

private void button1_Click(object sender, RoutedEventArgs e)  
{  
   FrameWithinGrid.Navigate(new System.Uri("Page1.xaml",  
         UriKind.RelativeOrAbsolute));  
} 

Para saber más Vea aquí

0
tabby 15 nov. 2017 a las 13:14

Enfoque MVVM

  1. Haga que main_con_body sea un ContentControl
  2. Hacer de Window's DataContext un modelo de vista
  3. Vincular la propiedad Content de main_con_body a una propiedad viewmodel del contexto de datos
  4. Definir diferentes plantillas de datos para los distintos tipos de modelos de vista que pueden estar presentes.
0
Eric 15 nov. 2017 a las 21:25