Files
FT479/WPFWCSDemo/MainWindow.xaml
2026-06-29 14:46:32 +08:00

229 lines
18 KiB
XML

<Window x:Class="WPFWCSDemo.MainWindow"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:WPFWCSDemo"
xmlns:viewmodels="clr-namespace:WPFWCSDemo.ViewModels"
d:DataContext="{d:DesignInstance Type=viewmodels:MainViewModel}"
mc:Ignorable="d"
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
TextElement.FontWeight="Regular"
TextElement.FontSize="13"
TextOptions.TextFormattingMode="Ideal"
TextOptions.TextRenderingMode="Auto"
Background="{DynamicResource MaterialDesignPaper}"
FontFamily="微软雅黑"
AllowsTransparency="True"
ResizeMode="CanMinimize"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
Title="MainWindow" Height="900" Width="1600">
<Window.Resources>
<Style x:Key="tblRequestName" TargetType="TextBlock">
<Setter Property="FontSize" Value="11"/>
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="Margin" Value="0 0 10 0"/>
</Style>
<Style x:Key="tblRequestBorder" TargetType="Border">
<Setter Property="Height" Value="11"/>
<Setter Property="Width" Value="11"/>
<Setter Property="CornerRadius" Value="20"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Margin" Value="0 1 0 0"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Tag}" Value="true">
<Setter Property="Background" Value="LimeGreen"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Tag}" Value="false">
<Setter Property="Background" Value="LightGray"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="tblPermissionBorder" TargetType="Border" BasedOn="{StaticResource tblRequestBorder}">
<Setter Property="Height" Value="11"/>
<Setter Property="Width" Value="11"/>
<Setter Property="CornerRadius" Value="20"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Margin" Value="0 0 0 3"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Tag}" Value="1">
<Setter Property="Background" Value="LimeGreen"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Tag}" Value="0">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="tblRequestStackPanel" TargetType="StackPanel">
<Setter Property="Orientation" Value="Horizontal"/>
<Setter Property="Margin" Value="0 0 20 0"/>
</Style>
</Window.Resources>
<md:DialogHost DialogTheme="Dark" Identifier="RootDialog" SnackbarMessageQueue="{Binding ElementName=MainSnackbar, Path=MessageQueue}">
<!--左侧弹出导航绑定-->
<md:DrawerHost x:Name="drawerHost" IsLeftDrawerOpen="{Binding ElementName=menuToggleButton,Path=IsChecked}">
<!--左侧导航对话框-->
<md:DrawerHost.LeftDrawerContent>
<!--左侧导航面板-->
<DockPanel Width="240">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<StackPanel>
<StackPanel.Background>
<SolidColorBrush Opacity=".5"/>
</StackPanel.Background>
<Image Source="..\Resources\yctd.jpg" Margin="30 40">
<!--<Image.Clip>
<EllipseGeometry Center="40,40" RadiusX="40" RadiusY="40"/>
</Image.Clip>-->
</Image>
</StackPanel>
<!--左侧导航列表-->
<ListBox x:Name="menuBar" Grid.Row="1" ItemsSource="{Binding MenuBar}" Background="Lavender" SelectedItem="{Binding SelectedMenuBar, Mode=TwoWay}" ItemContainerStyle="{StaticResource myListBoxItemStyle}">
<!--添加行为触发(例:通过选中项的改变触发某个事件)-->
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<!--绑定动作对象的属性-->
<i:InvokeCommandAction Command="{Binding NavigationCommand}" CommandParameter="{Binding SelectedMenuBar.NameSpace}"/>
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeftButtonUp">
<!--绑定动作对象的属性-->
<i:InvokeCommandAction Command="{Binding NavigationCommand}" CommandParameter="{Binding SelectedMenuBar.NameSpace}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Background="Transparent" Margin="5">
<md:PackIcon Kind="{Binding Icon}" Margin="20,10" VerticalAlignment="Center"/>
<TextBlock Text="{Binding Title}" Margin="10" VerticalAlignment="Center" FontFamily="微软雅黑"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<DockPanel Height="400" Grid.Row="2" Background="Lavender">
</DockPanel>
</Grid>
</DockPanel>
</md:DrawerHost.LeftDrawerContent>
<DockPanel>
<md:ColorZone x:Name="colorZone" CornerRadius="5" Padding="16" md:ElevationAssist.Elevation="Dp4" DockPanel.Dock="Top" Mode="PrimaryMid" Margin="0,-2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--顶部导航【左侧按钮】-->
<StackPanel Orientation="Horizontal">
<ToggleButton x:Name="menuToggleButton" AutomationProperties.Name="HamburgerToggleButton" IsChecked="False" Style="{StaticResource MaterialDesignHamburgerToggleButton}" ToolTip="菜单"/>
<Button Margin="24,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self},Path=Foreground,Converter={StaticResource BrushRoundConverter}}" Command="{Binding GoBackCommand}" Content="{md:PackIcon Kind=ArrowLeftBold,Size=26}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}},Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="后退"/>
<Button Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding GoForwardCommand}" Content="{md:PackIcon Kind=ArrowRightBold, Size=26}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="前进" />
<Button Margin="14,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding HomeCommand}" Content="{md:PackIcon Kind=Home, Size=26}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="主画面" />
<Button x:Name="btnLog" Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding OpenLogCommand}" Content="{md:PackIcon Kind=NoteMultiple, Size=20}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="日志" />
<Button x:Name="btnSetting" Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding OpenSettingCommand}" Content="{md:PackIcon Kind=Wrench, Size=22}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="设置" />
<!--<Button x:Name="btnLine" Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding OpenSettingCommand}" Content="{md:PackIcon Kind=WrenchOutline, Size=22}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="Setting" />-->
<Button x:Name="LineControl" Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding LineControlCommand}" Content="{md:PackIcon Kind=Highway, Size=24}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="输送线管理"/>
<Button x:Name="Helper" Margin="16,0,0,0" md:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}" Command="{Binding HelperCommand}" Content="{md:PackIcon Kind=HelpCircle, Size=24}" Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" Style="{StaticResource MaterialDesignToolButton}" ToolTip="帮助"/>
</StackPanel>
<!--顶部导航【中间标题】-->
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock VerticalAlignment="Center" AutomationProperties.Name="Material Design In XAML Toolkit" FontSize="26" FontWeight="Bold" Text="滁州东鹏饮料二厂环穿调度系统"/>
</StackPanel>
<!--顶部导航【右侧按钮】-->
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right">
<Button x:Name="btnMin" Width="30" Height="30" Content="{md:PackIcon Kind=Minus, Size=16}" Margin="2" Style="{StaticResource MaterialDesignFloatingActionButton}"/>
<Button x:Name="btnMax" Width="30" Height="30" Content="{md:PackIcon Kind=WindowMaximize, Size=16}" Margin="2" Style="{StaticResource MaterialDesignFloatingActionButton}"/>
<Button x:Name="btnClose" Background="DarkOrange" Width="30" Height="30" Content="{md:PackIcon Kind=Close, Size=16}" Margin="2" Style="{StaticResource MaterialDesignFloatingActionButton}"/>
</StackPanel>
</Grid>
</md:ColorZone>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Frame x:Name="mainFrame" Margin="20" NavigationUIVisibility="Hidden"/>
<StackPanel Grid.Row="1" Style="{StaticResource tblRequestStackPanel}" Margin="50 0 30 0">
<TextBlock Text="地面允许下发" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding Permission_Station}" Style="{StaticResource tblPermissionBorder}"/>
</StackPanel>
<Rectangle Grid.Row="1" Width=".5" Height="15" Fill="DimGray" Margin="185 0 0 3" HorizontalAlignment="Left"/>
<StackPanel Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="160 0 0 5" Orientation="Horizontal">
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1001请求出垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1001}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1003请求出垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1003}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1005请求出垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1005}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1007请求出垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1007}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1008请求出垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1008}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1009允许进垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding PutRequest_1009}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1010允许进垛" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding PutRequest_1010}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<Rectangle Width=".5" Height="15" Fill="DimGray" Margin="40 0 60 0"/>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1013请求入栈" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding GetRequest_1013}" Style="{StaticResource tblRequestBorder}" Visibility="{Binding GetRequest_LineAB_Visible}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1002请求出栈" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding PutRequest_1002}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1004请求入栈" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding PutRequest_1004}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
<StackPanel Style="{StaticResource tblRequestStackPanel}">
<TextBlock Text="1006请求出栈" Style="{StaticResource tblRequestName}"/>
<Border Tag="{Binding PutRequest_1006}" Style="{StaticResource tblRequestBorder}"/>
</StackPanel>
</StackPanel>
</Grid>
</DockPanel>
</md:DrawerHost>
</md:DialogHost>
</Window>