47 lines
1.8 KiB
C#
47 lines
1.8 KiB
C#
using CommunityToolkit.Mvvm.Messaging;
|
|
|
|
namespace Ursa.Demo.ViewModels;
|
|
|
|
public class MainViewViewModel : ViewModelBase
|
|
{
|
|
public MenuViewModel Menus { get; set; } = new MenuViewModel();
|
|
|
|
private object? _content;
|
|
|
|
public object? Content
|
|
{
|
|
get => _content;
|
|
set => SetProperty(ref _content, value);
|
|
}
|
|
|
|
public MainViewViewModel()
|
|
{
|
|
WeakReferenceMessenger.Default.Register<MainViewViewModel, string>(this, OnNavigation);
|
|
}
|
|
|
|
|
|
private void OnNavigation(MainViewViewModel vm, string s)
|
|
{
|
|
Content = s switch
|
|
{
|
|
MenuKeys.MenuKeyIntroduction => new IntroductionDemoViewModel(),
|
|
MenuKeys.MenuKeyBadge => new BadgeDemoViewModel(),
|
|
MenuKeys.MenuKeyBanner => new BannerDemoViewModel(),
|
|
MenuKeys.MenuKeyButtonGroup => new ButtonGroupDemoViewModel(),
|
|
MenuKeys.MenuKeyDialog => new DialogDemoViewModel(),
|
|
MenuKeys.MenuKeyDivider => new DividerDemoViewModel(),
|
|
MenuKeys.MenuKeyDualBadge => new DualBadgeDemoViewModel(),
|
|
MenuKeys.MenuKeyImageViewer => new ImageViewerDemoViewModel(),
|
|
MenuKeys.MenuKeyIconButton => new IconButtonDemoViewModel(),
|
|
MenuKeys.MenuKeyIpBox => new IPv4BoxDemoViewModel(),
|
|
MenuKeys.MenuKeyKeyGestureInput => new KeyGestureInputDemoViewModel(),
|
|
MenuKeys.MenuKeyLoading => new LoadingDemoViewModel(),
|
|
MenuKeys.MenuKeyMessageBox => new MessageBoxDemoViewModel(),
|
|
MenuKeys.MenuKeyNavigation => new NavigationMenuDemoViewModel(),
|
|
MenuKeys.MenuKeyNumericUpDown => new NumericUpDownDemoViewModel(),
|
|
MenuKeys.MenuKeyPagination => new PaginationDemoViewModel(),
|
|
MenuKeys.MenuKeyTagInput => new TagInputDemoViewModel(),
|
|
MenuKeys.MenuKeyTimeline => new TimelineDemoViewModel(),
|
|
};
|
|
}
|
|
} |