MainWindowView.xaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. <Window x:Class="TeamAAS_VP.Views.MainWindowView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  7. xmlns:prism="http://prismlibrary.com/"
  8. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  9. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels"
  10. xmlns:local="clr-namespace:TeamAAS_VP"
  11. xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
  12. xmlns:converter="clr-namespace:TeamAAS_VP.ValueConverter"
  13. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  14. lex:LocalizeDictionary.DesignCulture="zh-CN"
  15. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  16. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  17. mc:Ignorable="d"
  18. d:DataContext="{d:DesignInstance Type=vm:MainWindowViewModel}"
  19. d:Height="768"
  20. d:Width="1024"
  21. WindowState="Maximized"
  22. WindowStartupLocation="CenterScreen"
  23. Closing="Window_Closing"
  24. FontFamily="{DynamicResource DefaultFont}">
  25. <Window.Title>
  26. <MultiBinding StringFormat=" {0} {1}">
  27. <Binding Path="CompanyTitle" />
  28. <Binding Path="AppVersion" />
  29. </MultiBinding>
  30. </Window.Title>
  31. <Window.Resources>
  32. <converter:NavigationStateConverter x:Key="_NavigationState" />
  33. <converter:NavigationStateConverter1 x:Key="_NavigationState1" />
  34. <!-- 普通状态背景 -->
  35. <SolidColorBrush x:Key="ModeNormalBrush" Color="White" />
  36. <!-- 生产模式背景 -->
  37. <SolidColorBrush x:Key="ModeAutoBrush" Color="Green" />
  38. <!-- 调机模式背景 -->
  39. <SolidColorBrush x:Key="ModeManualBrush" Color="Orange" />
  40. <!-- 流线模式背景 -->
  41. <SolidColorBrush x:Key="ModeClearBrush" Color="Yellow" />
  42. <!-- 生产卡片样式 -->
  43. <Style x:Key="AutoModeCardStyle" TargetType="materialDesign:Card">
  44. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  45. <Setter Property="Margin" Value="6,0" />
  46. <Setter Property="MinWidth" Value="64" />
  47. <Setter Property="HorizontalAlignment" Value="Center" />
  48. <Setter Property="VerticalAlignment" Value="Center" />
  49. <Style.Triggers>
  50. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Auto}">
  51. <Setter Property="Background" Value="{StaticResource ModeAutoBrush}" />
  52. </DataTrigger>
  53. </Style.Triggers>
  54. </Style>
  55. <!-- 调机卡片样式 -->
  56. <Style x:Key="ManualModeCardStyle" TargetType="materialDesign:Card">
  57. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  58. <Setter Property="Margin" Value="6,0" />
  59. <Setter Property="MinWidth" Value="64" />
  60. <Setter Property="HorizontalAlignment" Value="Center" />
  61. <Setter Property="VerticalAlignment" Value="Center" />
  62. <Style.Triggers>
  63. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Manual}">
  64. <Setter Property="Background" Value="{StaticResource ModeManualBrush}" />
  65. </DataTrigger>
  66. </Style.Triggers>
  67. </Style>
  68. <!-- 流线卡片样式 -->
  69. <Style x:Key="ClearModeCardStyle" TargetType="materialDesign:Card">
  70. <Setter Property="Background" Value="{StaticResource ModeNormalBrush}" />
  71. <Setter Property="Margin" Value="6,0" />
  72. <Setter Property="MinWidth" Value="64" />
  73. <Setter Property="HorizontalAlignment" Value="Center" />
  74. <Setter Property="VerticalAlignment" Value="Center" />
  75. <Style.Triggers>
  76. <DataTrigger Binding="{Binding management.CurrentDisplayMode}" Value="{x:Static enums:RunDisplayMode.Clear}">
  77. <Setter Property="Background" Value="{StaticResource ModeClearBrush}" />
  78. </DataTrigger>
  79. </Style.Triggers>
  80. </Style>
  81. </Window.Resources>
  82. <b:Interaction.Triggers>
  83. <b:EventTrigger EventName="Loaded">
  84. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  85. </b:EventTrigger>
  86. <b:EventTrigger EventName="Closed">
  87. <b:InvokeCommandAction Command="{Binding ClosedCommand}" />
  88. </b:EventTrigger>
  89. </b:Interaction.Triggers>
  90. <materialDesign:DialogHost DialogTheme="Inherit"
  91. 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. <ColumnDefinition Width="100" />
  113. </Grid.ColumnDefinitions>
  114. <Grid.Resources />
  115. <!--<TextBlock Text="运行窗口" HorizontalAlignment="Center"/>-->
  116. <Button
  117. Grid.Row="1"
  118. Grid.Column="0"
  119. Width="90"
  120. Height="90"
  121. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=0}"
  122. Command="{Binding NavigationCommand}"
  123. CommandParameter="Home"
  124. Style="{StaticResource MaterialDesignIconButton}"
  125. ToolTip="{lex:Loc 运行窗口}">
  126. <StackPanel
  127. HorizontalAlignment="Center"
  128. VerticalAlignment="Center"
  129. Orientation="Vertical">
  130. <materialDesign:PackIcon
  131. Width="50"
  132. Height="50"
  133. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=0}"
  134. Kind="HomeOutline" />
  135. <TextBlock
  136. Margin="0,0,0,5"
  137. HorizontalAlignment="Center"
  138. VerticalAlignment="Center"
  139. FontSize="12"
  140. Foreground="Black"
  141. Text="{lex:Loc 运行窗口}" />
  142. </StackPanel>
  143. </Button>
  144. <Button
  145. Grid.Row="1"
  146. Grid.Column="1"
  147. Width="90"
  148. Height="90"
  149. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=1}"
  150. Command="{Binding NavigationCommand}"
  151. CommandParameter="Products"
  152. Style="{StaticResource MaterialDesignIconButton}"
  153. ToolTip="{lex:Loc 产品管理}">
  154. <StackPanel
  155. HorizontalAlignment="Center"
  156. VerticalAlignment="Center"
  157. Orientation="Vertical">
  158. <materialDesign:PackIcon
  159. Width="50"
  160. Height="50"
  161. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=1}"
  162. Kind="FileTableBoxOutline" />
  163. <TextBlock
  164. Margin="0,0,0,5"
  165. HorizontalAlignment="Center"
  166. VerticalAlignment="Center"
  167. FontSize="12"
  168. Foreground="Black"
  169. Text="{lex:Loc 产品管理}" />
  170. </StackPanel>
  171. </Button>
  172. <Button
  173. Grid.Row="1"
  174. Grid.Column="2"
  175. Width="90"
  176. Height="90"
  177. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=2}"
  178. Command="{Binding NavigationCommand}"
  179. CommandParameter="Debug"
  180. Style="{StaticResource MaterialDesignIconButton}"
  181. ToolTip="{lex:Loc 调试}">
  182. <StackPanel
  183. HorizontalAlignment="Center"
  184. VerticalAlignment="Center"
  185. Orientation="Vertical">
  186. <materialDesign:PackIcon
  187. Width="50"
  188. Height="50"
  189. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=2}"
  190. Kind="WrenchOutline" />
  191. <TextBlock
  192. Margin="0,0,0,5"
  193. HorizontalAlignment="Center"
  194. VerticalAlignment="Center"
  195. FontSize="12"
  196. Foreground="Black"
  197. Text="{lex:Loc 调试}" />
  198. </StackPanel>
  199. </Button>
  200. <Button
  201. Grid.Row="1"
  202. Grid.Column="3"
  203. Width="90"
  204. Height="90"
  205. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=3}"
  206. Command="{Binding NavigationCommand}"
  207. CommandParameter="Setting"
  208. Style="{StaticResource MaterialDesignIconButton}"
  209. ToolTip="{lex:Loc 设置}">
  210. <StackPanel
  211. HorizontalAlignment="Center"
  212. VerticalAlignment="Center"
  213. Orientation="Vertical">
  214. <materialDesign:PackIcon
  215. Width="50"
  216. Height="50"
  217. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=3}"
  218. Kind="Cog" />
  219. <TextBlock
  220. Margin="0,0,0,5"
  221. HorizontalAlignment="Center"
  222. VerticalAlignment="Center"
  223. FontSize="12"
  224. Foreground="Black"
  225. Text="{lex:Loc 设置}" />
  226. </StackPanel>
  227. </Button>
  228. <materialDesign:Card
  229. Grid.Row="1"
  230. Grid.Column="4"
  231. Margin="10"
  232. Background="White"
  233. UniformCornerRadius="15">
  234. <Grid Margin="12,8">
  235. <Grid.ColumnDefinitions>
  236. <ColumnDefinition Width="150" />
  237. <ColumnDefinition Width="*" />
  238. <ColumnDefinition Width="Auto" />
  239. </Grid.ColumnDefinitions>
  240. <Border
  241. Grid.Column="0"
  242. MinWidth="100"
  243. Padding="10,6"
  244. VerticalAlignment="Center"
  245. BorderBrush="#D6DDE8"
  246. BorderThickness="1"
  247. CornerRadius="8">
  248. <StackPanel Orientation="Vertical">
  249. <TextBlock
  250. Margin="0,0,0,4"
  251. FontSize="{DynamicResource Font.Size.Body3}"
  252. FontWeight="SemiBold"
  253. Text="{lex:Loc SettingView_Language_Text}" />
  254. <ComboBox
  255. MinWidth="160"
  256. FontSize="12"
  257. SelectedValue="{Binding CurrentLanguage, Mode=TwoWay}"
  258. SelectedValuePath="Tag">
  259. <ComboBoxItem
  260. Content="{lex:Loc SettingView_Language_ChineseSimplified}"
  261. Tag="{x:Static enums:Language.ChineseSimplified}" />
  262. <ComboBoxItem
  263. Content="{lex:Loc SettingView_Language_ChineseTraditional}"
  264. Tag="{x:Static enums:Language.ChineseTraditional}" />
  265. <ComboBoxItem
  266. Content="{lex:Loc SettingView_Language_English}"
  267. Tag="{x:Static enums:Language.English}" />
  268. <ComboBoxItem
  269. Content="{lex:Loc SettingView_Language_Japanese}"
  270. Tag="{x:Static enums:Language.Japanese}" />
  271. <ComboBoxItem
  272. Content="{lex:Loc SettingView_Language_Vietnamese}"
  273. Tag="{x:Static enums:Language.Vietnamese}" />
  274. </ComboBox>
  275. </StackPanel>
  276. </Border>
  277. <TextBlock
  278. Grid.Column="1"
  279. HorizontalAlignment="Center"
  280. VerticalAlignment="Center"
  281. FontSize="{DynamicResource Font.Size.Title1}"
  282. FontWeight="Bold"
  283. TextAlignment="Center"
  284. Text="{Binding MyTitle}" />
  285. <StackPanel
  286. Grid.Column="2"
  287. HorizontalAlignment="Right"
  288. Orientation="Horizontal">
  289. <materialDesign:Card Style="{StaticResource AutoModeCardStyle}" Margin="40,0">
  290. <TextBlock
  291. Margin="8"
  292. FontSize="22"
  293. Text="{lex:Loc 生产}" />
  294. </materialDesign:Card>
  295. <materialDesign:Card Style="{StaticResource ManualModeCardStyle}" Margin="40,0">
  296. <TextBlock
  297. Margin="8"
  298. FontSize="22"
  299. Text="{lex:Loc 调试}" />
  300. </materialDesign:Card>
  301. <materialDesign:Card Style="{StaticResource ClearModeCardStyle}" Margin="40,0">
  302. <TextBlock
  303. Margin="8"
  304. FontSize="22"
  305. Text="{lex:Loc 流线}" />
  306. </materialDesign:Card>
  307. </StackPanel>
  308. </Grid>
  309. </materialDesign:Card>
  310. <Button
  311. Grid.Row="1"
  312. Grid.Column="5"
  313. Width="90"
  314. Height="90"
  315. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=5}"
  316. Command="{Binding NavigationCommand}"
  317. CommandParameter="Image"
  318. Style="{StaticResource MaterialDesignIconButton}"
  319. ToolTip="{lex:Loc 图片}">
  320. <StackPanel
  321. HorizontalAlignment="Center"
  322. VerticalAlignment="Center"
  323. Orientation="Vertical">
  324. <materialDesign:PackIcon
  325. Width="50"
  326. Height="50"
  327. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=5}"
  328. Kind="Image" />
  329. <TextBlock
  330. Margin="0,0,0,5"
  331. HorizontalAlignment="Center"
  332. VerticalAlignment="Center"
  333. FontSize="12"
  334. Foreground="Black"
  335. Text="{lex:Loc 图片}" />
  336. </StackPanel>
  337. </Button>
  338. <Button
  339. Grid.Row="1"
  340. Grid.Column="6"
  341. Width="90"
  342. Height="90"
  343. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=6}"
  344. Command="{Binding NavigationCommand}"
  345. CommandParameter="Calib"
  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=6}"
  356. Kind="CrosshairsGps" />
  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=7}"
  372. Command="{Binding NavigationCommand}"
  373. CommandParameter="Statistics"
  374. Cursor="Hand"
  375. Style="{StaticResource MaterialDesignIconButton}"
  376. ToolTip="{lex:Loc 统计}">
  377. <StackPanel
  378. HorizontalAlignment="Center"
  379. VerticalAlignment="Center"
  380. Orientation="Vertical">
  381. <materialDesign:PackIcon
  382. Width="50"
  383. Height="50"
  384. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=7}"
  385. Kind="ChartBellCurveCumulative" />
  386. <TextBlock
  387. Margin="0,0,0,5"
  388. HorizontalAlignment="Center"
  389. VerticalAlignment="Center"
  390. FontSize="12"
  391. Foreground="Black"
  392. Text="{lex:Loc 统计}" />
  393. </StackPanel>
  394. </Button>
  395. <Button
  396. Grid.Row="1"
  397. Grid.Column="8"
  398. Width="90"
  399. Height="90"
  400. Background="{Binding NavigationIndex, Converter={StaticResource _NavigationState}, ConverterParameter=8}"
  401. Command="{Binding NavigationCommand}"
  402. CommandParameter="User"
  403. Style="{StaticResource MaterialDesignIconButton}"
  404. ToolTip="{lex:Loc 用户}">
  405. <StackPanel
  406. HorizontalAlignment="Center"
  407. VerticalAlignment="Center"
  408. Orientation="Vertical">
  409. <materialDesign:PackIcon
  410. Width="50"
  411. Height="50"
  412. Foreground="{Binding NavigationIndex, Converter={StaticResource _NavigationState1}, ConverterParameter=8}"
  413. Kind="AccountMultipleOutline" />
  414. <TextBlock
  415. Margin="0,0,0,5"
  416. HorizontalAlignment="Center"
  417. VerticalAlignment="Center"
  418. FontSize="12"
  419. Foreground="Black"
  420. Text="{lex:Loc 用户}" />
  421. </StackPanel>
  422. </Button>
  423. </Grid>
  424. <ContentControl Grid.Row="1"
  425. prism:RegionManager.RegionName="MainRegionContext" />
  426. <!--状态栏-->
  427. <StatusBar x:Name="status"
  428. Grid.Row="2">
  429. <ItemsControl ItemsSource="{Binding Status}" HorizontalAlignment="Left" VerticalAlignment="Center">
  430. <ItemsControl.ItemsPanel>
  431. <ItemsPanelTemplate>
  432. <VirtualizingStackPanel Orientation="Horizontal" />
  433. </ItemsPanelTemplate>
  434. </ItemsControl.ItemsPanel>
  435. <ItemsControl.ItemTemplate>
  436. <DataTemplate>
  437. <TextBlock Text="{Binding Message,Mode=TwoWay}"
  438. MinWidth="40"
  439. Foreground="Black"
  440. Background="{Binding Background,Mode=TwoWay}"
  441. Margin="4,0"
  442. VerticalAlignment="Center"
  443. FontSize="{DynamicResource Font.Size. Font.Size.Captions4}"
  444. Opacity="0.7"/>
  445. </DataTemplate>
  446. </ItemsControl.ItemTemplate>
  447. </ItemsControl>
  448. </StatusBar>
  449. <materialDesign:Snackbar Grid.Row="1"
  450. x:Name="SnackbarSeven"
  451. Opacity="0.8"
  452. HorizontalContentAlignment="Center"
  453. FontSize="{DynamicResource Font.Size.Body1}"
  454. MessageQueue="{materialDesign:MessageQueue}"
  455. VerticalAlignment="Bottom" />
  456. </Grid>
  457. </materialDesign:DialogHost>
  458. </Window>