MainWindowView.xaml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  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:enums="clr-namespace:TeamAAS_VP.Enums"
  9. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  10. xmlns:local="clr-namespace:TeamAAS_VP"
  11. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  12. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  13. xmlns:prism="http://prismlibrary.com/"
  14. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels"
  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="6,0" />
  47. <Setter Property="MinWidth" Value="64" />
  48. <Setter Property="HorizontalAlignment" Value="Center" />
  49. <Setter Property="VerticalAlignment" Value="Center" />
  50. <Style.Triggers>
  51. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" 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="6,0" />
  60. <Setter Property="MinWidth" Value="64" />
  61. <Setter Property="HorizontalAlignment" Value="Center" />
  62. <Setter Property="VerticalAlignment" Value="Center" />
  63. <Style.Triggers>
  64. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" 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="6,0" />
  73. <Setter Property="MinWidth" Value="64" />
  74. <Setter Property="HorizontalAlignment" Value="Center" />
  75. <Setter Property="VerticalAlignment" Value="Center" />
  76. <Style.Triggers>
  77. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" 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. <StackPanel
  126. HorizontalAlignment="Center"
  127. VerticalAlignment="Center"
  128. Orientation="Vertical">
  129. <materialDesign:PackIcon
  130. Width="50"
  131. Height="50"
  132. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=0}"
  133. Kind="HomeOutline" />
  134. <TextBlock
  135. Margin="0,0,0,5"
  136. HorizontalAlignment="Center"
  137. VerticalAlignment="Center"
  138. FontSize="12"
  139. Foreground="Black"
  140. Text="{lex:Loc 运行窗口}" />
  141. </StackPanel>
  142. </Button>
  143. <Button
  144. Grid.Row="1"
  145. Grid.Column="1"
  146. Width="90"
  147. Height="90"
  148. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=1}"
  149. Command="{Binding NavigationCommand}"
  150. CommandParameter="Products"
  151. Style="{StaticResource MaterialDesignIconButton}"
  152. ToolTip="{lex:Loc 产品管理}">
  153. <StackPanel
  154. HorizontalAlignment="Center"
  155. VerticalAlignment="Center"
  156. Orientation="Vertical">
  157. <materialDesign:PackIcon
  158. Width="50"
  159. Height="50"
  160. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=1}"
  161. Kind="FileTableBoxOutline" />
  162. <TextBlock
  163. Margin="0,0,0,5"
  164. HorizontalAlignment="Center"
  165. VerticalAlignment="Center"
  166. FontSize="12"
  167. Foreground="Black"
  168. Text="{lex:Loc 产品管理}" />
  169. </StackPanel>
  170. </Button>
  171. <Button
  172. Grid.Row="1"
  173. Grid.Column="2"
  174. Width="90"
  175. Height="90"
  176. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=2}"
  177. Command="{Binding NavigationCommand}"
  178. CommandParameter="Debug"
  179. Style="{StaticResource MaterialDesignIconButton}"
  180. ToolTip="{lex:Loc 调试}">
  181. <StackPanel
  182. HorizontalAlignment="Center"
  183. VerticalAlignment="Center"
  184. Orientation="Vertical">
  185. <materialDesign:PackIcon
  186. Width="50"
  187. Height="50"
  188. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=2}"
  189. Kind="WrenchOutline" />
  190. <TextBlock
  191. Margin="0,0,0,5"
  192. HorizontalAlignment="Center"
  193. VerticalAlignment="Center"
  194. FontSize="12"
  195. Foreground="Black"
  196. Text="{lex:Loc 调试}" />
  197. </StackPanel>
  198. </Button>
  199. <Button
  200. Grid.Row="1"
  201. Grid.Column="3"
  202. Width="90"
  203. Height="90"
  204. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=3}"
  205. Command="{Binding NavigationCommand}"
  206. CommandParameter="Setting"
  207. Style="{StaticResource MaterialDesignIconButton}"
  208. ToolTip="{lex:Loc 设置}">
  209. <StackPanel
  210. HorizontalAlignment="Center"
  211. VerticalAlignment="Center"
  212. Orientation="Vertical">
  213. <materialDesign:PackIcon
  214. Width="50"
  215. Height="50"
  216. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=3}"
  217. Kind="Cog" />
  218. <TextBlock
  219. Margin="0,0,0,5"
  220. HorizontalAlignment="Center"
  221. VerticalAlignment="Center"
  222. FontSize="12"
  223. Foreground="Black"
  224. Text="{lex:Loc 设置}" />
  225. </StackPanel>
  226. </Button>
  227. <materialDesign:Card
  228. Grid.Row="1"
  229. Grid.Column="4"
  230. Margin="10"
  231. Background="White"
  232. UniformCornerRadius="15">
  233. <Grid Margin="12,8">
  234. <Grid.ColumnDefinitions>
  235. <ColumnDefinition Width="Auto" />
  236. <ColumnDefinition Width="*" />
  237. <ColumnDefinition Width="Auto" />
  238. </Grid.ColumnDefinitions>
  239. <Border
  240. Grid.Column="0"
  241. MinWidth="190"
  242. Padding="10,6"
  243. VerticalAlignment="Center"
  244. BorderBrush="#D6DDE8"
  245. BorderThickness="1"
  246. CornerRadius="8">
  247. <StackPanel Orientation="Vertical">
  248. <TextBlock
  249. Margin="0,0,0,4"
  250. FontSize="{DynamicResource Font.Size.Body3}"
  251. FontWeight="SemiBold"
  252. Text="{lex:Loc SettingView_Language_Text}" />
  253. <ComboBox
  254. MinWidth="160"
  255. FontSize="12"
  256. SelectedValue="{Binding CurrentLanguage, Mode=TwoWay}"
  257. SelectedValuePath="Tag">
  258. <ComboBoxItem
  259. Content="{lex:Loc SettingView_Language_ChineseSimplified}"
  260. Tag="{x:Static enums:Language.ChineseSimplified}" />
  261. <ComboBoxItem
  262. Content="{lex:Loc SettingView_Language_ChineseTraditional}"
  263. Tag="{x:Static enums:Language.ChineseTraditional}" />
  264. <ComboBoxItem
  265. Content="{lex:Loc SettingView_Language_English}"
  266. Tag="{x:Static enums:Language.English}" />
  267. <ComboBoxItem
  268. Content="{lex:Loc SettingView_Language_Japanese}"
  269. Tag="{x:Static enums:Language.Japanese}" />
  270. <ComboBoxItem
  271. Content="{lex:Loc SettingView_Language_Vietnamese}"
  272. Tag="{x:Static enums:Language.Vietnamese}" />
  273. </ComboBox>
  274. </StackPanel>
  275. </Border>
  276. <TextBlock
  277. Grid.Column="1"
  278. HorizontalAlignment="Center"
  279. VerticalAlignment="Center"
  280. FontSize="{DynamicResource Font.Size.Title1}"
  281. FontWeight="Bold"
  282. TextAlignment="Center"
  283. Text="{Binding MyTitle}" />
  284. <StackPanel
  285. Grid.Column="2"
  286. HorizontalAlignment="Right"
  287. Orientation="Horizontal">
  288. <materialDesign:Card Style="{StaticResource AutoModeCardStyle}" Margin="6,0">
  289. <TextBlock
  290. Margin="8"
  291. FontSize="22"
  292. Text="{lex:Loc 生产}" />
  293. </materialDesign:Card>
  294. <materialDesign:Card Style="{StaticResource ManualModeCardStyle}" Margin="6,0">
  295. <TextBlock
  296. Margin="8"
  297. FontSize="22"
  298. Text="{lex:Loc 调机}" />
  299. </materialDesign:Card>
  300. <materialDesign:Card Style="{StaticResource ClearModeCardStyle}" Margin="6,0">
  301. <TextBlock
  302. Margin="8"
  303. FontSize="22"
  304. Text="{lex:Loc 流线}" />
  305. </materialDesign:Card>
  306. </StackPanel>
  307. </Grid>
  308. </materialDesign:Card>
  309. <Button
  310. Grid.Row="1"
  311. Grid.Column="5"
  312. Width="90"
  313. Height="90"
  314. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=6}"
  315. Command="{Binding NavigationCommand}"
  316. CommandParameter="Calib"
  317. Style="{StaticResource MaterialDesignIconButton}"
  318. ToolTip="{lex:Loc 校准}">
  319. <StackPanel
  320. HorizontalAlignment="Center"
  321. VerticalAlignment="Center"
  322. Orientation="Vertical">
  323. <materialDesign:PackIcon
  324. Width="50"
  325. Height="50"
  326. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=6}"
  327. Kind="CrosshairsGps" />
  328. <TextBlock
  329. Margin="0,0,0,5"
  330. HorizontalAlignment="Center"
  331. VerticalAlignment="Center"
  332. FontSize="12"
  333. Foreground="Black"
  334. Text="{lex:Loc 校准}" />
  335. </StackPanel>
  336. </Button>
  337. <Button
  338. Grid.Row="1"
  339. Grid.Column="6"
  340. Width="90"
  341. Height="90"
  342. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=7}"
  343. Command="{Binding NavigationCommand}"
  344. CommandParameter="Statistics"
  345. Cursor="Hand"
  346. Style="{StaticResource MaterialDesignIconButton}"
  347. ToolTip="{lex:Loc 统计}">
  348. <StackPanel
  349. HorizontalAlignment="Center"
  350. VerticalAlignment="Center"
  351. Orientation="Vertical">
  352. <materialDesign:PackIcon
  353. Width="50"
  354. Height="50"
  355. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=7}"
  356. Kind="ChartBellCurveCumulative" />
  357. <TextBlock
  358. Margin="0,0,0,5"
  359. HorizontalAlignment="Center"
  360. VerticalAlignment="Center"
  361. FontSize="12"
  362. Foreground="Black"
  363. Text="{lex:Loc 统计}" />
  364. </StackPanel>
  365. </Button>
  366. <Button
  367. Grid.Row="1"
  368. Grid.Column="7"
  369. Width="90"
  370. Height="90"
  371. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=8}"
  372. Command="{Binding NavigationCommand}"
  373. CommandParameter="User"
  374. Style="{StaticResource MaterialDesignIconButton}"
  375. ToolTip="{lex:Loc 用户}">
  376. <StackPanel
  377. HorizontalAlignment="Center"
  378. VerticalAlignment="Center"
  379. Orientation="Vertical">
  380. <materialDesign:PackIcon
  381. Width="50"
  382. Height="50"
  383. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=8}"
  384. Kind="AccountMultipleOutline" />
  385. <TextBlock
  386. Margin="0,0,0,5"
  387. HorizontalAlignment="Center"
  388. VerticalAlignment="Center"
  389. FontSize="12"
  390. Foreground="Black"
  391. Text="{lex:Loc 用户}" />
  392. </StackPanel>
  393. </Button>
  394. </Grid>
  395. <ContentControl Grid.Row="1" prism:RegionManager.RegionName="MainRegionContext" />
  396. <!-- 状态栏 -->
  397. <StatusBar x:Name="status" Grid.Row="2">
  398. <ItemsControl
  399. HorizontalAlignment="Left"
  400. VerticalAlignment="Center"
  401. ItemsSource="{Binding Status}">
  402. <ItemsControl.ItemsPanel>
  403. <ItemsPanelTemplate>
  404. <VirtualizingStackPanel Orientation="Horizontal" />
  405. </ItemsPanelTemplate>
  406. </ItemsControl.ItemsPanel>
  407. <ItemsControl.ItemTemplate>
  408. <DataTemplate>
  409. <TextBlock
  410. MinWidth="40"
  411. Margin="4,0"
  412. VerticalAlignment="Center"
  413. Background="{Binding Background, Mode=TwoWay}"
  414. FontSize="{DynamicResource Font.Size. Font.Size.Captions4}"
  415. Foreground="Black"
  416. Opacity="0.7"
  417. Text="{Binding Message, Mode=TwoWay}" />
  418. </DataTemplate>
  419. </ItemsControl.ItemTemplate>
  420. </ItemsControl>
  421. </StatusBar>
  422. <materialDesign:Snackbar
  423. x:Name="SnackbarSeven"
  424. Grid.Row="1"
  425. VerticalAlignment="Bottom"
  426. HorizontalContentAlignment="Center"
  427. FontSize="{DynamicResource Font.Size.Body1}"
  428. MessageQueue="{materialDesign:MessageQueue}"
  429. Opacity="0.8" />
  430. </Grid>
  431. </materialDesign:DialogHost>
  432. </Window>