Hello les gens,
Je sollicite votre aide. Etant débutant dans les applications windows phone.
J'essaye lors d'un click sur un bouton ( Connexion / Inscription ) changer de views. ( ConnexionView ou InscriptionView ).
Voila mon code MainPage.xaml
Voila mon code MainViewModel.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <Grid> <Grid.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0"/> <GradientStop Color="#FF563AA0" Offset="1"/> </LinearGradientBrush> </Grid.Background> <ContentControl Content="{Binding CurrentViewModel}" /> <Button Command="{Binding ConnexionViewCommand}" x:Name="Connexion_button" HorizontalAlignment="Left" Margin="90,308,0,0" Content="Login" VerticalAlignment="Top" Width="282"/> <Button Command="{Binding InscriptionViewCommand}" x:Name="Create_account" HorizontalAlignment="Left" Margin="90,446,0,0" Content="Create Account" VerticalAlignment="Top" Width="282"/> </Grid>
Les fonctions sont bien call ( MessageBox.Show), donc lors d'un click , ca rentre bien dans les fonctions. Par contre, le Frame.navigate ou NavigationService.Navigate ne marche pas. Pouvez vous me renseigner?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 public class MainViewModel : ViewModelBase { private ViewModelBase _currentViewModel; readonly static ConnexionViewModel _ConnexionViewModel = new ConnexionViewModel(); readonly static InscriptionViewModel _InscriptionViewModel = new InscriptionViewModel(); readonly static MainPageViewModel _MainPageViewModel = new MainPageViewModel(); public ViewModelBase CurrentViewModel { get { return _currentViewModel; } set { if (_currentViewModel == value) return; _currentViewModel = value; RaisePropertyChanged("CurrentViewModel"); } } public ICommand ConnexionViewCommand { get; private set; } public ICommand InscriptionViewCommand { get; private set; } public MainViewModel() { CurrentViewModel = MainViewModel._MainPageViewModel; ConnexionViewCommand = new RelayCommand(() => ExecuteConnexionViewCommand()); InscriptionViewCommand = new RelayCommand(() => ExecuteInscriptionViewCommand()); } private void ExecuteConnexionViewCommand() { Frame.Navigate(typeof(ConnexionView)); NavigationService.Navigate(new Uri("/ConnexionView.xaml", UriKind.Relative)); MessageBox.Show("CONNEXION"); } private void ExecuteInscriptionViewCommand() { Frame.Navigate(typeof(InscriptView)); NavigationService.Navigate(new Uri("/InscriptionView.xaml", UriKind.Relative)); MessageBox.Show("REGISTER"); } }
Bien sur j'ai laissé les deux pour vous montrer ce que j'ai testé.
Partager