Ich verwende den folgenden Code auf die Schaltfläche klicken navigieren:Wie MouseOver-Ereignis in MVVM zu erstellen?
XAML:
<Button x:Name ="Btn_Import" Grid.Row="33" Grid.Column="15" Grid.ColumnSpan="36" Grid.RowSpan="36" Command="{Binding NavigateCommand}" CommandParameter="ViewImportProgress"/>
Ansichtsmodell:
public DelegateCommand<string> NavigateCommand { get; set; }
public MainButtonsViewModel(IRegionManager regionManager, IMainMenuTooltipViewer mainMenuTooltipViewer)
{
NavigateCommand = new DelegateCommand<string>(Navigate);
}
private void Navigate(string uri)
{
regionManager.RequestNavigate("ScreenNavigationRegion", uri);
}
und es funktioniert gut. Nun meine Frage ist, was würde Code gleichwertig sein, um Navigation MouseOver-Ereignis statt MouseClick-Ereignis, natürlich in MVVM-Muster und Verwendung von Prism arbeiten?
Wie implementieren Sie NavigateCommand? –
Es ist nur ein Beispiel, wie Befehl an Ereignis gebunden wird. Anstelle von NavigationCommand können Sie einen beliebigen anderen Befehl verwenden. Implementierung von NavigationCommand abhängig von der Projektinfrastruktur. Zum Beispiel können Sie NavigationService mit der Methode "void Navigate (Type vm)" definieren, in Ihrem DI-Container registrieren und dann einfach im Befehl navigationService.Navigate (typeof (yourNewVM)); – Anton