实现了导航功能
This commit is contained in:
12
Views/DataTransformView.xaml
Normal file
12
Views/DataTransformView.xaml
Normal file
@@ -0,0 +1,12 @@
|
||||
<UserControl x:Class="PMSWPF.Views.DataTransformView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<Grid>
|
||||
<TextBlock Text="DataTransformView" FontSize="40" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
11
Views/DataTransformView.xaml.cs
Normal file
11
Views/DataTransformView.xaml.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace PMSWPF.Views;
|
||||
|
||||
public partial class DataTransformView : UserControl
|
||||
{
|
||||
public DataTransformView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
12
Views/DevicesView.xaml
Normal file
12
Views/DevicesView.xaml
Normal file
@@ -0,0 +1,12 @@
|
||||
<UserControl x:Class="PMSWPF.Views.DevicesView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<Grid>
|
||||
<TextBlock Text="DevicesView" FontSize="40" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
11
Views/DevicesView.xaml.cs
Normal file
11
Views/DevicesView.xaml.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace PMSWPF.Views;
|
||||
|
||||
public partial class DevicesView : UserControl
|
||||
{
|
||||
public DevicesView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
12
Views/HomeView.xaml
Normal file
12
Views/HomeView.xaml
Normal file
@@ -0,0 +1,12 @@
|
||||
<UserControl x:Class="PMSWPF.Views.HomeView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<Grid>
|
||||
<TextBlock Text="HomeView" FontSize="40" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
11
Views/HomeView.xaml.cs
Normal file
11
Views/HomeView.xaml.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace PMSWPF.Views;
|
||||
|
||||
public partial class HomeView : UserControl
|
||||
{
|
||||
public HomeView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -3,29 +3,123 @@
|
||||
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:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
|
||||
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:PMSWPF.ViewModels"
|
||||
Title="MainView"
|
||||
Width="800"
|
||||
Height="450"
|
||||
Height="600"
|
||||
ui:WindowHelper.UseModernWindowStyle="True"
|
||||
ui:WindowHelper.SystemBackdropType="Mica"
|
||||
d:DataContext="{d:DesignInstance vm:MainViewModel}"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel>
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
FontSize="36"
|
||||
Text="{Binding Message}" />
|
||||
<Grid>
|
||||
<ui:NavigationView
|
||||
ExpandedModeThresholdWidth="500"
|
||||
IsTabStop="False"
|
||||
PaneDisplayMode="Left"
|
||||
PaneTitle="设备管理系统"
|
||||
IsSettingsVisible="False"
|
||||
AlwaysShowHeader="True"
|
||||
IsBackButtonVisible="Collapsed"
|
||||
IsBackEnabled="False"
|
||||
SelectionFollowsFocus="Disabled"
|
||||
SelectionChanged="NavigationView_SelectionChanged">
|
||||
|
||||
<Border
|
||||
Width="100"
|
||||
Height="100"
|
||||
Background="Orange">
|
||||
<i:Interaction.Behaviors>
|
||||
<i:MouseDragElementBehavior />
|
||||
</i:Interaction.Behaviors>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
<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:NavigationViewItemHeader Content="Actions" />
|
||||
<ui:NavigationViewItem
|
||||
x:Name="SamplePage2Item"
|
||||
Content="Menu Item2"
|
||||
SelectsOnInvoked="True"
|
||||
Tag="SamplePage2">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Save}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
<ui:NavigationViewItem
|
||||
x:Name="SamplePage3Item"
|
||||
Content="Menu Item3"
|
||||
Tag="SamplePage3">
|
||||
<ui:NavigationViewItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Refresh}" />
|
||||
</ui:NavigationViewItem.Icon>
|
||||
</ui:NavigationViewItem>
|
||||
</ui:NavigationView.MenuItems>
|
||||
|
||||
<ui:NavigationView.PaneCustomContent>
|
||||
<ui:HyperlinkButton
|
||||
x:Name="PaneHyperlink"
|
||||
Margin="12,0"
|
||||
Content="More info"
|
||||
Visibility="Collapsed" />
|
||||
</ui:NavigationView.PaneCustomContent>
|
||||
|
||||
|
||||
<ui:NavigationView.AutoSuggestBox>
|
||||
<ui:AutoSuggestBox AutomationProperties.Name="Search">
|
||||
<ui:AutoSuggestBox.QueryIcon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Search}" />
|
||||
</ui:AutoSuggestBox.QueryIcon>
|
||||
</ui:AutoSuggestBox>
|
||||
</ui:NavigationView.AutoSuggestBox>
|
||||
|
||||
|
||||
<ui:NavigationView.PaneFooter>
|
||||
<StackPanel
|
||||
x:Name="FooterStackPanel"
|
||||
Orientation="Vertical"
|
||||
Visibility="Visible">
|
||||
<ui:NavigationViewItem 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>
|
||||
</StackPanel>
|
||||
</ui:NavigationView.PaneFooter>
|
||||
|
||||
<ContentControl Content="{Binding CurrentViewModel}">
|
||||
<ContentControl.Resources>
|
||||
<DataTemplate DataType="{x:Type vm:HomeViewModel}">
|
||||
<local:HomeView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type vm:DevicesViewModel}">
|
||||
<local:DevicesView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type vm:DataTransformViewModel}">
|
||||
<local:DataTransformView/>
|
||||
</DataTemplate>
|
||||
</ContentControl.Resources>
|
||||
</ContentControl>
|
||||
</ui:NavigationView>
|
||||
</Grid>
|
||||
</Window>
|
||||
@@ -1,4 +1,6 @@
|
||||
using System.Windows;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using iNKORE.UI.WPF.Modern.Controls;
|
||||
using PMSWPF.ViewModels;
|
||||
|
||||
namespace PMSWPF.Views
|
||||
@@ -8,10 +10,34 @@ namespace PMSWPF.Views
|
||||
/// </summary>
|
||||
public partial class MainView : Window
|
||||
{
|
||||
|
||||
public MainView()
|
||||
{
|
||||
|
||||
InitializeComponent();
|
||||
this.DataContext = new MainViewModel();
|
||||
|
||||
}
|
||||
|
||||
private void NavigationView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
|
||||
{
|
||||
NavigationViewItem? item = args.SelectedItem as NavigationViewItem;
|
||||
MainViewModel mainViewModel = (MainViewModel)this.DataContext ;
|
||||
switch (item.Tag)
|
||||
{
|
||||
case "Home":
|
||||
mainViewModel.NavgateTo<HomeViewModel>();
|
||||
break;
|
||||
case "Devices":
|
||||
mainViewModel.NavgateTo<DevicesViewModel>();
|
||||
break;
|
||||
case "DataTransform":
|
||||
mainViewModel.NavgateTo<DataTransformViewModel>();
|
||||
break;
|
||||
default:
|
||||
mainViewModel.NavgateTo<HomeViewModel>();
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
<Window
|
||||
x:Class="PMSWPF.Views.PlcListView"
|
||||
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:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:local="clr-namespace:PMSWPF.Views"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:PMSWPF.ViewModels"
|
||||
Title="PlcListView"
|
||||
Width="800"
|
||||
Height="450"
|
||||
d:DataContext="{d:DesignInstance vm:PlcListViewModel}"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel>
|
||||
<StackPanel Height="auto" />
|
||||
<DataGrid
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="True"
|
||||
CanUserDeleteRows="True"
|
||||
ItemsSource="{Binding PlcList}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding Path=Name}" Header="名称" />
|
||||
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
|
||||
</StackPanel>
|
||||
</Window>
|
||||
@@ -1,27 +0,0 @@
|
||||
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.Shapes;
|
||||
|
||||
namespace PMSWPF.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// PlcListView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class PlcListView : Window
|
||||
{
|
||||
public PlcListView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user