浏览代码

优化界面,增加主界面语言切换

KWD 3 月之前
父节点
当前提交
1bb9897983
共有 3 个文件被更改,包括 707 次插入510 次删除
  1. 15 4
      TeamAAS-VM/ViewModels/MainWindowViewModel.cs
  2. 480 430
      TeamAAS-VM/Views/HomeView.xaml
  3. 212 76
      TeamAAS-VM/Views/MainWindowView.xaml

+ 15 - 4
TeamAAS-VM/ViewModels/MainWindowViewModel.cs

@@ -143,6 +143,19 @@ namespace TeamAAS_VP.ViewModels
             set { SetProperty(ref _MyTitle, value); }
         }
 
+        private Language _CurrentLanguage;
+        public Language CurrentLanguage
+        {
+            get { return _CurrentLanguage; }
+            set
+            {
+                if (SetProperty(ref _CurrentLanguage, value))
+                {
+                    _configService?.SetCurrentLanguage(value);
+                }
+            }
+        }
+
         #endregion
 
         #region 命令
@@ -260,10 +273,8 @@ namespace TeamAAS_VP.ViewModels
             _configService.SaveSystemConfiguration(systemconfig);
 
             // 设置语言
-            //#region 设置语言
-            //var currentlanguage = _configService.GetSystemConfiguration().CurrentLanguage;
-            //_configService.SetCurrentLanguage(currentlanguage);
-            //#endregion
+            CurrentLanguage = systemconfig.CurrentLanguage;
+            _configService.SetCurrentLanguage(CurrentLanguage);
 
             SendTaskMessage(Lang.软件启动, MessageLevel.Info);
             StartTime = DateTime.Now;

文件差异内容过多而无法显示
+ 480 - 430
TeamAAS-VM/Views/HomeView.xaml


+ 212 - 76
TeamAAS-VM/Views/MainWindowView.xaml

@@ -5,13 +5,13 @@
     xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
     xmlns:converter="clr-namespace:TeamAAS_VP.ValueConverter"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
     xmlns:lex="http://wpflocalizeextension.codeplex.com"
     xmlns:local="clr-namespace:TeamAAS_VP"
     xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:prism="http://prismlibrary.com/"
     xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels"
-    xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
     d:DataContext="{d:DesignInstance Type=vm:MainWindowViewModel}"
     d:Height="768"
     d:Width="1024"
@@ -33,52 +33,52 @@
         <converter:NavigationStateConverter x:Key="_NavigationState" />
         <converter:NavigationStateConverter1 x:Key="_NavigationState1" />
 
-        <!-- 普通状态背景 -->
+        <!--  普通状态背景  -->
         <SolidColorBrush x:Key="ModeNormalBrush" Color="White" />
-        <!-- 生产模式背景 -->
+        <!--  生产模式背景  -->
         <SolidColorBrush x:Key="ModeAutoBrush" Color="Green" />
-        <!-- 调机模式背景 -->
+        <!--  调机模式背景  -->
         <SolidColorBrush x:Key="ModeManualBrush" Color="Orange" />
-        <!-- 流线模式背景 -->
+        <!--  流线模式背景  -->
         <SolidColorBrush x:Key="ModeClearBrush" Color="Yellow" />
 
-        <!-- 生产卡片样式 -->
+        <!--  生产卡片样式  -->
         <Style x:Key="AutoModeCardStyle" TargetType="materialDesign:Card">
             <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
-            <Setter Property="Margin" Value="50,10" />
+            <Setter Property="Margin" Value="6,0" />
+            <Setter Property="MinWidth" Value="64" />
             <Setter Property="HorizontalAlignment" Value="Center" />
             <Setter Property="VerticalAlignment" Value="Center" />
             <Style.Triggers>
-                <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
-                         Value="{x:Static enums:RunDisplayMode.Auto}">
+                <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Auto}">
                     <Setter Property="Background" Value="{StaticResource ModeAutoBrush}" />
                 </DataTrigger>
             </Style.Triggers>
         </Style>
 
-        <!-- 调机卡片样式 -->
+        <!--  调机卡片样式  -->
         <Style x:Key="ManualModeCardStyle" TargetType="materialDesign:Card">
             <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
-            <Setter Property="Margin" Value="20,10" />
+            <Setter Property="Margin" Value="6,0" />
+            <Setter Property="MinWidth" Value="64" />
             <Setter Property="HorizontalAlignment" Value="Center" />
             <Setter Property="VerticalAlignment" Value="Center" />
             <Style.Triggers>
-                <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
-                         Value="{x:Static enums:RunDisplayMode.Manual}">
+                <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Manual}">
                     <Setter Property="Background" Value="{StaticResource ModeManualBrush}" />
                 </DataTrigger>
             </Style.Triggers>
         </Style>
 
-        <!-- 流线卡片样式 -->
+        <!--  流线卡片样式  -->
         <Style x:Key="ClearModeCardStyle" TargetType="materialDesign:Card">
             <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
-            <Setter Property="Margin" Value="50,10" />
+            <Setter Property="Margin" Value="6,0" />
+            <Setter Property="MinWidth" Value="64" />
             <Setter Property="HorizontalAlignment" Value="Center" />
             <Setter Property="VerticalAlignment" Value="Center" />
             <Style.Triggers>
-                <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
-                         Value="{x:Static enums:RunDisplayMode.Clear}">
+                <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Clear}">
                     <Setter Property="Background" Value="{StaticResource ModeClearBrush}" />
                 </DataTrigger>
             </Style.Triggers>
@@ -127,11 +127,23 @@
                     CommandParameter="Home"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 运行窗口}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=0}"
-                        Kind="HomeOutline" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=0}"
+                            Kind="HomeOutline" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 运行窗口}" />
+                    </StackPanel>
                 </Button>
                 <Button
                     Grid.Row="1"
@@ -143,11 +155,23 @@
                     CommandParameter="Products"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 产品管理}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=1}"
-                        Kind="FileTableBoxOutline" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=1}"
+                            Kind="FileTableBoxOutline" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 产品管理}" />
+                    </StackPanel>
                 </Button>
                 <Button
                     Grid.Row="1"
@@ -159,11 +183,23 @@
                     CommandParameter="Debug"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 调试}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=2}"
-                        Kind="WrenchOutline" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=2}"
+                            Kind="WrenchOutline" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 调试}" />
+                    </StackPanel>
                 </Button>
                 <Button
                     Grid.Row="1"
@@ -175,11 +211,23 @@
                     CommandParameter="Setting"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 设置}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=3}"
-                        Kind="Cog" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=3}"
+                            Kind="Cog" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 设置}" />
+                    </StackPanel>
                 </Button>
                 <materialDesign:Card
                     Grid.Row="1"
@@ -187,36 +235,86 @@
                     Margin="10"
                     Background="White"
                     UniformCornerRadius="15">
-                    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
+                    <Grid Margin="12,8">
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="Auto" />
+                            <ColumnDefinition Width="*" />
+                            <ColumnDefinition Width="Auto" />
+                        </Grid.ColumnDefinitions>
+
+                        <Border
+                            Grid.Column="0"
+                            MinWidth="190"
+                            Padding="10,6"
+                            VerticalAlignment="Center"
+                            BorderBrush="#D6DDE8"
+                            BorderThickness="1"
+                            CornerRadius="8">
+                            <StackPanel Orientation="Vertical">
+                                <TextBlock
+                                    Margin="0,0,0,4"
+                                    FontSize="{DynamicResource Font.Size.Body3}"
+                                    FontWeight="SemiBold"
+                                    Text="{lex:Loc SettingView_Language_Text}" />
+                                <ComboBox
+                                    MinWidth="160"
+                                    FontSize="12"
+                                    SelectedValue="{Binding CurrentLanguage, Mode=TwoWay}"
+                                    SelectedValuePath="Tag">
+                                    <ComboBoxItem
+                                        Content="{lex:Loc SettingView_Language_ChineseSimplified}"
+                                        Tag="{x:Static enums:Language.ChineseSimplified}" />
+                                    <ComboBoxItem
+                                        Content="{lex:Loc SettingView_Language_ChineseTraditional}"
+                                        Tag="{x:Static enums:Language.ChineseTraditional}" />
+                                    <ComboBoxItem
+                                        Content="{lex:Loc SettingView_Language_English}"
+                                        Tag="{x:Static enums:Language.English}" />
+                                    <ComboBoxItem
+                                        Content="{lex:Loc SettingView_Language_Japanese}"
+                                        Tag="{x:Static enums:Language.Japanese}" />
+                                    <ComboBoxItem
+                                        Content="{lex:Loc SettingView_Language_Vietnamese}"
+                                        Tag="{x:Static enums:Language.Vietnamese}" />
+                                </ComboBox>
+                            </StackPanel>
+                        </Border>
+
                         <TextBlock
-                            Margin="280,0,0,0"
+                            Grid.Column="1"
                             HorizontalAlignment="Center"
                             VerticalAlignment="Center"
                             FontSize="{DynamicResource Font.Size.Title1}"
                             FontWeight="Bold"
+                            TextAlignment="Center"
                             Text="{Binding MyTitle}" />
-                        <materialDesign:Card Style="{StaticResource AutoModeCardStyle}">
-                            <TextBlock
-                                Margin="8"
-                                FontSize="22"
-                                Text="{lex:Loc 生产}" />
-                        </materialDesign:Card>
 
-                        <materialDesign:Card Style="{StaticResource ManualModeCardStyle}">
-                            <TextBlock
-                                Margin="8"
-                                FontSize="22"
-                                Text="{lex:Loc 调机}" />
-                        </materialDesign:Card>
+                        <StackPanel
+                            Grid.Column="2"
+                            HorizontalAlignment="Right"
+                            Orientation="Horizontal">
+                            <materialDesign:Card Style="{StaticResource AutoModeCardStyle}" Margin="6,0">
+                                <TextBlock
+                                    Margin="8"
+                                    FontSize="22"
+                                    Text="{lex:Loc 生产}" />
+                            </materialDesign:Card>
 
-                        <materialDesign:Card Style="{StaticResource ClearModeCardStyle}">
-                            <TextBlock
-                                Margin="8"
-                                FontSize="22"
-                                Text="{lex:Loc 流线}" />
-                        </materialDesign:Card>
-                    </StackPanel>
+                            <materialDesign:Card Style="{StaticResource ManualModeCardStyle}" Margin="6,0">
+                                <TextBlock
+                                    Margin="8"
+                                    FontSize="22"
+                                    Text="{lex:Loc 调机}" />
+                            </materialDesign:Card>
 
+                            <materialDesign:Card Style="{StaticResource ClearModeCardStyle}" Margin="6,0">
+                                <TextBlock
+                                    Margin="8"
+                                    FontSize="22"
+                                    Text="{lex:Loc 流线}" />
+                            </materialDesign:Card>
+                        </StackPanel>
+                    </Grid>
 
                 </materialDesign:Card>
                 <Button
@@ -224,48 +322,86 @@
                     Grid.Column="5"
                     Width="90"
                     Height="90"
-                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=5}"
+                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=6}"
                     Command="{Binding NavigationCommand}"
                     CommandParameter="Calib"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 校准}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=5}"
-                        Kind="CrosshairsGps" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=6}"
+                            Kind="CrosshairsGps" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 校准}" />
+                    </StackPanel>
                 </Button>
                 <Button
                     Grid.Row="1"
                     Grid.Column="6"
                     Width="90"
                     Height="90"
-                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=6}"
+                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=7}"
                     Command="{Binding NavigationCommand}"
                     CommandParameter="Statistics"
+                    Cursor="Hand"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 统计}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=6}"
-                        Kind="ChartBellCurveCumulative" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=7}"
+                            Kind="ChartBellCurveCumulative" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 统计}" />
+                    </StackPanel>
                 </Button>
                 <Button
                     Grid.Row="1"
                     Grid.Column="7"
                     Width="90"
                     Height="90"
-                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=7}"
+                    Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=8}"
                     Command="{Binding NavigationCommand}"
                     CommandParameter="User"
                     Style="{StaticResource MaterialDesignIconButton}"
                     ToolTip="{lex:Loc 用户}">
-                    <materialDesign:PackIcon
-                        Width="70"
-                        Height="70"
-                        Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=7}"
-                        Kind="AccountMultipleOutline" />
+                    <StackPanel
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Center"
+                        Orientation="Vertical">
+                        <materialDesign:PackIcon
+                            Width="50"
+                            Height="50"
+                            Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=8}"
+                            Kind="AccountMultipleOutline" />
+                        <TextBlock
+                            Margin="0,0,0,5"
+                            HorizontalAlignment="Center"
+                            VerticalAlignment="Center"
+                            FontSize="12"
+                            Foreground="Black"
+                            Text="{lex:Loc 用户}" />
+                    </StackPanel>
+
                 </Button>
             </Grid>
 

部分文件因为文件数量过多而无法显示