none
wpf navigation entre pages vs2015

    Question

  • bonjour

    sur mon nouveau projet wpf j'ai un menu qui me permet de naviguer entre les pages par contre comment faire un cliquant sur un item du menu pour revenir a la page principale

    merci   de m'aider et un immense merci

    jeudi 15 juin 2017 10:10

Réponses

  • Mon code ne fonctionne pas car tout le contenu de vos pages sont dans un Frame (si j'ai bien compris votre code).

    Dans ce cas voici le code à mettre dans MenuItem_Click_2

     private void MenuItem_Click_2(object sender, RoutedEventArgs e)
            {
    
                Main.NavigationService.Navigate(new MainWindow());
    
            }


    Download my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;

    • Marqué comme réponse SIMONGEORGES vendredi 16 juin 2017 06:53
    jeudi 15 juin 2017 12:21

Toutes les réponses

  • Bonjour Simon, 

    Code XAML. Dans ce code je créé un menu composé de deux items : Retour page principale et Exit

    <Window x:Class="WpfApp1.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:WpfApp1"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <DockPanel>
                <Menu DockPanel.Dock="Top">
                    <MenuItem Header="_File">
                        <MenuItem Header="_Retour page principale" Click="MenuItem_Click" />
                        <MenuItem Header="_Exit" />
                    </MenuItem>
                </Menu>
               
            </DockPanel>
        </Grid>
    </Window>
    

    Code C#. Je met le code de la méthode MenuItem_Click : 

    private void MenuItem_Click(object sender, RoutedEventArgs e) {

    //Création d'une instance de la page principale qui se nomme MainWindow MainWindow mainWindow = new MainWindow();

    //Navigation vers la page principale NavigationService.GetNavigationService(mainWindow); }


    J'espère que j'ai bien répondu à votre question.

    Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post

    Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadi


    Download my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;

    jeudi 15 juin 2017 10:54
  • bonjour

    je uis navré je viens de copier votre code et cela ne fonctionne pas pouvez vous me dire si j'ai fait une erreur en tapant le code

     coici mon code complet

    xaml

    <Window x:Class="WpfApplication1_creation_jardin.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:WpfApplication1_creation_jardin"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Grid.Background >
                <ImageBrush ImageSource="legume.jpg" />
            </Grid.Background>
    
            <StackPanel x:Name="zone_menu" Margin="0,1,0,291" RenderTransformOrigin="0.5,0.5" Background="Aqua">
                <StackPanel.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleY="-1"/>
                        <SkewTransform/>
                        <RotateTransform/>
                        <TranslateTransform/>
                    </TransformGroup>
                </StackPanel.RenderTransform>
            </StackPanel>
            <Menu VerticalAlignment="Top" HorizontalAlignment="Left" Opacity="50" >
                <MenuItem Header="Organiser" >
                    <MenuItem Header="commencer" />
                    <MenuItem Header="travail du sol"/>
                    <MenuItem Header="fertimisation"/>
                    <MenuItem Header="semis"/>
                    <MenuItem Header="plantation"/>
                    <MenuItem Header="l'zau au jardin"/>
                    <MenuItem Header="les maladies"/>
                    <MenuItem Header="les associations"/>
                    <MenuItem Header="les sols dufficiles"/>
                    <Separator/>
                </MenuItem >
            </Menu>
            <!--creer deuxieme menu-->
            <Menu x:Name="menu_legumes" VerticalAlignment="Top" HorizontalContentAlignment="Center" Margin="70,0,0,0" Height="18" HorizontalAlignment="Left" Width="98">
                <MenuItem Header="famille legumes" Height="18">
                    <MenuItem Header="racines" Click="MenuItem_Click"/>
                    <MenuItem Header="feuilles"/>
                    <MenuItem Header="fleurs"/>
                    <MenuItem Header="fruits"/>
                    <MenuItem Header="quitter" Click="MenuItem_Click_2"/>
    
                    <Separator/>
                </MenuItem>
            </Menu>
            <!--crer menu retour-->
    
            <Frame x:Name="Main" Margin="0,25,0,0" NavigationUIVisibility="Hidden"/>
        </Grid>
    </Window>
    

    le code cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1_creation_jardin
    {
        /// <summary>
        /// Logique d'interaction pour MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void MenuItem_Click(object sender, RoutedEventArgs e)
            {
                Main.Content = new legumes_racines();
            }
    
    
            private void MenuItem_Click_2(object sender, RoutedEventArgs e)
            {
    
                //Création d'une instance de la page principale qui se nomme MainWindow
                MainWindow mainWindow = new MainWindow();
    
                //Navigation vers la page principale
                NavigationService.GetNavigationService(mainWindow);
    
            }
        }
    }
    

    le page d'un page  à l'autre s'effectue corectemant mais  ya pas de retour sur la page mainwindos

    encore merci de votre patience

    jeudi 15 juin 2017 12:01
  • Mon code ne fonctionne pas car tout le contenu de vos pages sont dans un Frame (si j'ai bien compris votre code).

    Dans ce cas voici le code à mettre dans MenuItem_Click_2

     private void MenuItem_Click_2(object sender, RoutedEventArgs e)
            {
    
                Main.NavigationService.Navigate(new MainWindow());
    
            }


    Download my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;

    • Marqué comme réponse SIMONGEORGES vendredi 16 juin 2017 06:53
    jeudi 15 juin 2017 12:21