给DialogService从原来的接口注入,更改为RequestMessage消息通知
This commit is contained in:
@@ -7,15 +7,25 @@
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:PMSWPF.ViewModels"
|
||||
xmlns:mo="clr-namespace:PMSWPF.Models"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
Title="设备管理系统"
|
||||
Width="1080"
|
||||
Height="800"
|
||||
|
||||
Loaded="MainView_OnLoaded"
|
||||
ui:WindowHelper.UseModernWindowStyle="True"
|
||||
ui:WindowHelper.SystemBackdropType="Mica"
|
||||
d:DataContext="{d:DesignInstance vm:MainViewModel}"
|
||||
mc:Ignorable="d">
|
||||
<Window.Resources>
|
||||
<DataTemplate x:Key="NavigationViewMenuItem" DataType="{x:Type mo:MenuBean}">
|
||||
<ui:NavigationViewItem Content="{Binding Name}" MenuItemsSource="{Binding Items }">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Glyph="{Binding Icon}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
</DataTemplate>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<ui:NavigationView
|
||||
|
||||
@@ -28,42 +38,45 @@
|
||||
IsBackButtonVisible="Collapsed"
|
||||
IsBackEnabled="False"
|
||||
SelectionFollowsFocus="Disabled"
|
||||
SelectionChanged="NavigationView_SelectionChanged">
|
||||
MenuItemsSource="{Binding Menus}"
|
||||
MenuItemTemplate="{StaticResource NavigationViewMenuItem}"
|
||||
ItemInvoked="NavigationView_OnItemInvoked"
|
||||
>
|
||||
|
||||
<ui:NavigationView.MenuItems>
|
||||
<ui:NavigationViewItem
|
||||
Content="主页"
|
||||
Tag="Home">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Home}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
<ui:NavigationViewItem
|
||||
Content="设备"
|
||||
Tag="Devices">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Devices2}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
<ui:NavigationViewItem
|
||||
Content="数据转换"
|
||||
Tag="DataTransform">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Switch}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
<ui:NavigationViewItem Tag="Setting" Content="设置">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
<ui:NavigationViewItem Content="关于">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Info}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
|
||||
</ui:NavigationView.MenuItems>
|
||||
<!-- <ui:NavigationView.MenuItems> -->
|
||||
<!-- <ui:NavigationViewItem -->
|
||||
<!-- Content="主页" -->
|
||||
<!-- Tag="Home"> -->
|
||||
<!-- <ui:NavigationViewItem.Icon> -->
|
||||
<!-- <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Home}" /> -->
|
||||
<!-- </ui:NavigationViewItem.Icon> -->
|
||||
<!-- </ui:NavigationViewItem> -->
|
||||
<!-- <ui:NavigationViewItem -->
|
||||
<!-- Content="设备" -->
|
||||
<!-- Tag="Devices"> -->
|
||||
<!-- <ui:NavigationViewItem.Icon> -->
|
||||
<!-- <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Devices2}" /> -->
|
||||
<!-- </ui:NavigationViewItem.Icon> -->
|
||||
<!-- </ui:NavigationViewItem> -->
|
||||
<!-- <ui:NavigationViewItem -->
|
||||
<!-- Content="数据转换" -->
|
||||
<!-- Tag="DataTransform"> -->
|
||||
<!-- <ui:NavigationViewItem.Icon> -->
|
||||
<!-- <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Switch}" /> -->
|
||||
<!-- </ui:NavigationViewItem.Icon> -->
|
||||
<!-- </ui:NavigationViewItem> -->
|
||||
<!-- <ui:NavigationViewItem Tag="Setting" Content="设置"> -->
|
||||
<!-- <ui:NavigationViewItem.Icon> -->
|
||||
<!-- <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}" /> -->
|
||||
<!-- </ui:NavigationViewItem.Icon> -->
|
||||
<!-- </ui:NavigationViewItem> -->
|
||||
<!-- <ui:NavigationViewItem Content="关于"> -->
|
||||
<!-- <ui:NavigationViewItem.Icon> -->
|
||||
<!-- <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Info}" /> -->
|
||||
<!-- </ui:NavigationViewItem.Icon> -->
|
||||
<!-- </ui:NavigationViewItem> -->
|
||||
<!-- -->
|
||||
<!-- </ui:NavigationView.MenuItems> -->
|
||||
|
||||
<ui:NavigationView.AutoSuggestBox>
|
||||
<ui:AutoSuggestBox AutomationProperties.Name="Search">
|
||||
|
||||
@@ -14,11 +14,12 @@ namespace PMSWPF.Views;
|
||||
public partial class MainView : Window
|
||||
{
|
||||
private readonly ILogger<MainView> _logger;
|
||||
|
||||
private MainViewModel _viewModel;
|
||||
public MainView(MainViewModel viewModel, ILogger<MainView> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
InitializeComponent();
|
||||
_viewModel = viewModel;
|
||||
_logger = logger;
|
||||
DataContext = viewModel;
|
||||
_logger.LogInformation("主界面加载成功");
|
||||
}
|
||||
@@ -59,4 +60,40 @@ public partial class MainView : Window
|
||||
var nm = new NavgatorMessage(navgateVM);
|
||||
WeakReferenceMessenger.Default.Send(nm);
|
||||
}
|
||||
|
||||
private async void MainView_OnLoaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_viewModel.OnLoaded();
|
||||
}
|
||||
|
||||
private void NavigationView_OnItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
|
||||
{
|
||||
ViewModelBase navgateVM = App.Current.Services.GetRequiredService<HomeViewModel>();
|
||||
switch (args.InvokedItem)
|
||||
{
|
||||
case "主页":
|
||||
// mainViewModel.NavgateTo<HomeViewModel>();
|
||||
navgateVM = App.Current.Services.GetRequiredService<HomeViewModel>();
|
||||
_logger.LogInformation("导航到到主页面");
|
||||
break;
|
||||
case "设备":
|
||||
navgateVM = App.Current.Services.GetRequiredService<DevicesViewModel>();
|
||||
// mainViewModel.NavgateTo<DevicesViewModel>();
|
||||
_logger.LogInformation("导航到到设备页面");
|
||||
break;
|
||||
case "数据转换":
|
||||
navgateVM = App.Current.Services.GetRequiredService<DataTransformViewModel>();
|
||||
// mainViewModel.NavgateTo<DataTransformViewModel>();
|
||||
_logger.LogInformation("导航到到数据转换页面");
|
||||
break;
|
||||
case "设置":
|
||||
// mainViewModel.NavgateTo<SettingViewModel>();
|
||||
navgateVM = App.Current.Services.GetRequiredService<SettingViewModel>();
|
||||
_logger.LogInformation("导航到到设备页面");
|
||||
break;
|
||||
}
|
||||
|
||||
var nm = new NavgatorMessage(navgateVM);
|
||||
WeakReferenceMessenger.Default.Send(nm);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user