MainWindowView.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. <Window
  2. x:Class="TeamAAS_VP.Views.MainWindowView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  6. xmlns:converter="clr-namespace:TeamAAS_VP.ValueConverter"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  9. xmlns:local="clr-namespace:TeamAAS_VP"
  10. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  11. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  12. xmlns:prism="http://prismlibrary.com/"
  13. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels"
  14. xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
  15. d:DataContext="{d:DesignInstance Type=vm:MainWindowViewModel}"
  16. d:Height="768"
  17. d:Width="1024"
  18. lex:LocalizeDictionary.DesignCulture="zh-CN"
  19. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  20. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  21. Closing="Window_Closing"
  22. FontFamily="{DynamicResource DefaultFont}"
  23. WindowStartupLocation="CenterScreen"
  24. WindowState="Maximized"
  25. mc:Ignorable="d">
  26. <Window.Title>
  27. <MultiBinding StringFormat=" {0} {1}">
  28. <Binding Path="CompanyTitle" />
  29. <Binding Path="AppVersion" />
  30. </MultiBinding>
  31. </Window.Title>
  32. <Window.Resources>
  33. <converter:NavigationStateConverter x:Key="_NavigationState" />
  34. <converter:NavigationStateConverter1 x:Key="_NavigationState1" />
  35. <!-- 普通状态背景 -->
  36. <SolidColorBrush x:Key="ModeNormalBrush" Color="White" />
  37. <!-- 生产模式背景 -->
  38. <SolidColorBrush x:Key="ModeAutoBrush" Color="Green" />
  39. <!-- 调机模式背景 -->
  40. <SolidColorBrush x:Key="ModeManualBrush" Color="Orange" />
  41. <!-- 流线模式背景 -->
  42. <SolidColorBrush x:Key="ModeClearBrush" Color="Yellow" />
  43. <!-- 生产卡片样式 -->
  44. <Style x:Key="AutoModeCardStyle" TargetType="materialDesign:Card">
  45. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  46. <Setter Property="Margin" Value="50,10" />
  47. <Setter Property="HorizontalAlignment" Value="Center" />
  48. <Setter Property="VerticalAlignment" Value="Center" />
  49. <Style.Triggers>
  50. <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
  51. Value="{x:Static enums:RunDisplayMode.Auto}">
  52. <Setter Property="Background" Value="{StaticResource ModeAutoBrush}" />
  53. </DataTrigger>
  54. </Style.Triggers>
  55. </Style>
  56. <!-- 调机卡片样式 -->
  57. <Style x:Key="ManualModeCardStyle" TargetType="materialDesign:Card">
  58. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  59. <Setter Property="Margin" Value="20,10" />
  60. <Setter Property="HorizontalAlignment" Value="Center" />
  61. <Setter Property="VerticalAlignment" Value="Center" />
  62. <Style.Triggers>
  63. <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
  64. Value="{x:Static enums:RunDisplayMode.Manual}">
  65. <Setter Property="Background" Value="{StaticResource ModeManualBrush}" />
  66. </DataTrigger>
  67. </Style.Triggers>
  68. </Style>
  69. <!-- 流线卡片样式 -->
  70. <Style x:Key="ClearModeCardStyle" TargetType="materialDesign:Card">
  71. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  72. <Setter Property="Margin" Value="50,10" />
  73. <Setter Property="HorizontalAlignment" Value="Center" />
  74. <Setter Property="VerticalAlignment" Value="Center" />
  75. <Style.Triggers>
  76. <DataTrigger Binding="{Binding management.CurrentDisplayMode}"
  77. Value="{x:Static enums:RunDisplayMode.Clear}">
  78. <Setter Property="Background" Value="{StaticResource ModeClearBrush}" />
  79. </DataTrigger>
  80. </Style.Triggers>
  81. </Style>
  82. </Window.Resources>
  83. <b:Interaction.Triggers>
  84. <b:EventTrigger EventName="Loaded">
  85. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  86. </b:EventTrigger>
  87. <b:EventTrigger EventName="Closed">
  88. <b:InvokeCommandAction Command="{Binding ClosedCommand}" />
  89. </b:EventTrigger>
  90. </b:Interaction.Triggers>
  91. <materialDesign:DialogHost DialogTheme="Inherit" Identifier="RootDialog">
  92. <Grid>
  93. <Grid.RowDefinitions>
  94. <RowDefinition Height="100" />
  95. <RowDefinition Height="*" />
  96. <RowDefinition Height="auto" />
  97. </Grid.RowDefinitions>
  98. <Grid>
  99. <Grid.RowDefinitions>
  100. <RowDefinition Height="auto" />
  101. <RowDefinition Height="auto" />
  102. </Grid.RowDefinitions>
  103. <Grid.ColumnDefinitions>
  104. <ColumnDefinition Width="100" />
  105. <ColumnDefinition Width="100" />
  106. <ColumnDefinition Width="100" />
  107. <ColumnDefinition Width="100" />
  108. <ColumnDefinition Width="*" />
  109. <ColumnDefinition Width="100" />
  110. <ColumnDefinition Width="100" />
  111. <ColumnDefinition Width="100" />
  112. </Grid.ColumnDefinitions>
  113. <Grid.Resources />
  114. <!--<TextBlock Text="运行窗口" HorizontalAlignment="Center"/>-->
  115. <Button
  116. Grid.Row="1"
  117. Grid.Column="0"
  118. Width="90"
  119. Height="90"
  120. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=0}"
  121. Command="{Binding NavigationCommand}"
  122. CommandParameter="Home"
  123. Style="{StaticResource MaterialDesignIconButton}"
  124. ToolTip="{lex:Loc 运行窗口}">
  125. <materialDesign:PackIcon
  126. Width="70"
  127. Height="70"
  128. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=0}"
  129. Kind="HomeOutline" />
  130. </Button>
  131. <Button
  132. Grid.Row="1"
  133. Grid.Column="1"
  134. Width="90"
  135. Height="90"
  136. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=1}"
  137. Command="{Binding NavigationCommand}"
  138. CommandParameter="Products"
  139. Style="{StaticResource MaterialDesignIconButton}"
  140. ToolTip="{lex:Loc 产品管理}">
  141. <materialDesign:PackIcon
  142. Width="70"
  143. Height="70"
  144. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=1}"
  145. Kind="FileTableBoxOutline" />
  146. </Button>
  147. <Button
  148. Grid.Row="1"
  149. Grid.Column="2"
  150. Width="90"
  151. Height="90"
  152. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=2}"
  153. Command="{Binding NavigationCommand}"
  154. CommandParameter="Debug"
  155. Style="{StaticResource MaterialDesignIconButton}"
  156. ToolTip="{lex:Loc 调试}">
  157. <materialDesign:PackIcon
  158. Width="70"
  159. Height="70"
  160. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=2}"
  161. Kind="WrenchOutline" />
  162. </Button>
  163. <Button
  164. Grid.Row="1"
  165. Grid.Column="3"
  166. Width="90"
  167. Height="90"
  168. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=3}"
  169. Command="{Binding NavigationCommand}"
  170. CommandParameter="Setting"
  171. Style="{StaticResource MaterialDesignIconButton}"
  172. ToolTip="{lex:Loc 设置}">
  173. <materialDesign:PackIcon
  174. Width="70"
  175. Height="70"
  176. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=3}"
  177. Kind="Cog" />
  178. </Button>
  179. <materialDesign:Card
  180. Grid.Row="1"
  181. Grid.Column="4"
  182. Margin="10"
  183. Background="White"
  184. UniformCornerRadius="15">
  185. <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
  186. <TextBlock
  187. Margin="280,0,0,0"
  188. HorizontalAlignment="Center"
  189. VerticalAlignment="Center"
  190. FontSize="{DynamicResource Font.Size.Title1}"
  191. FontWeight="Bold"
  192. Text="{Binding MyTitle}" />
  193. <materialDesign:Card Style="{StaticResource AutoModeCardStyle}">
  194. <TextBlock
  195. Margin="8"
  196. FontSize="22"
  197. Text="{lex:Loc 生产}" />
  198. </materialDesign:Card>
  199. <materialDesign:Card Style="{StaticResource ManualModeCardStyle}">
  200. <TextBlock
  201. Margin="8"
  202. FontSize="22"
  203. Text="{lex:Loc 调机}" />
  204. </materialDesign:Card>
  205. <materialDesign:Card Style="{StaticResource ClearModeCardStyle}">
  206. <TextBlock
  207. Margin="8"
  208. FontSize="22"
  209. Text="{lex:Loc 流线}" />
  210. </materialDesign:Card>
  211. </StackPanel>
  212. </materialDesign:Card>
  213. <Button
  214. Grid.Row="1"
  215. Grid.Column="5"
  216. Width="90"
  217. Height="90"
  218. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=5}"
  219. Command="{Binding NavigationCommand}"
  220. CommandParameter="Calib"
  221. Style="{StaticResource MaterialDesignIconButton}"
  222. ToolTip="{lex:Loc 校准}">
  223. <materialDesign:PackIcon
  224. Width="70"
  225. Height="70"
  226. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=5}"
  227. Kind="CrosshairsGps" />
  228. </Button>
  229. <Button
  230. Grid.Row="1"
  231. Grid.Column="6"
  232. Width="90"
  233. Height="90"
  234. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=6}"
  235. Command="{Binding NavigationCommand}"
  236. CommandParameter="Statistics"
  237. Style="{StaticResource MaterialDesignIconButton}"
  238. ToolTip="{lex:Loc 统计}">
  239. <materialDesign:PackIcon
  240. Width="70"
  241. Height="70"
  242. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=6}"
  243. Kind="ChartBellCurveCumulative" />
  244. </Button>
  245. <Button
  246. Grid.Row="1"
  247. Grid.Column="7"
  248. Width="90"
  249. Height="90"
  250. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=7}"
  251. Command="{Binding NavigationCommand}"
  252. CommandParameter="User"
  253. Style="{StaticResource MaterialDesignIconButton}"
  254. ToolTip="{lex:Loc 用户}">
  255. <materialDesign:PackIcon
  256. Width="70"
  257. Height="70"
  258. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=7}"
  259. Kind="AccountMultipleOutline" />
  260. </Button>
  261. </Grid>
  262. <ContentControl Grid.Row="1" prism:RegionManager.RegionName="MainRegionContext" />
  263. <!-- 状态栏 -->
  264. <StatusBar x:Name="status" Grid.Row="2">
  265. <ItemsControl
  266. HorizontalAlignment="Left"
  267. VerticalAlignment="Center"
  268. ItemsSource="{Binding Status}">
  269. <ItemsControl.ItemsPanel>
  270. <ItemsPanelTemplate>
  271. <VirtualizingStackPanel Orientation="Horizontal" />
  272. </ItemsPanelTemplate>
  273. </ItemsControl.ItemsPanel>
  274. <ItemsControl.ItemTemplate>
  275. <DataTemplate>
  276. <TextBlock
  277. MinWidth="40"
  278. Margin="4,0"
  279. VerticalAlignment="Center"
  280. Background="{Binding Background, Mode=TwoWay}"
  281. FontSize="{DynamicResource Font.Size. Font.Size.Captions4}"
  282. Foreground="Black"
  283. Opacity="0.7"
  284. Text="{Binding Message, Mode=TwoWay}" />
  285. </DataTemplate>
  286. </ItemsControl.ItemTemplate>
  287. </ItemsControl>
  288. </StatusBar>
  289. <materialDesign:Snackbar
  290. x:Name="SnackbarSeven"
  291. Grid.Row="1"
  292. VerticalAlignment="Bottom"
  293. HorizontalContentAlignment="Center"
  294. FontSize="{DynamicResource Font.Size.Body1}"
  295. MessageQueue="{materialDesign:MessageQueue}"
  296. Opacity="0.8" />
  297. </Grid>
  298. </materialDesign:DialogHost>
  299. </Window>