MainWindowView.xaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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:converter="clr-namespace:TeamAAS_VP.ValueConverter"
  12. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  13. lex:LocalizeDictionary.DesignCulture="zh-CN"
  14. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  15. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  16. mc:Ignorable="d"
  17. d:DataContext="{d:DesignInstance Type=vm:MainWindowViewModel}"
  18. d:Height="768"
  19. d:Width="1024"
  20. WindowState="Maximized"
  21. WindowStartupLocation="CenterScreen"
  22. Closing="Window_Closing"
  23. FontFamily="{DynamicResource DefaultFont}">
  24. <Window.Title>
  25. <MultiBinding StringFormat=" {0} {1}">
  26. <Binding Path="CompanyTitle" />
  27. <Binding Path="AppVersion" />
  28. </MultiBinding>
  29. </Window.Title>
  30. <Window.Resources>
  31. <converter:NavigationStateConverter x:Key="_NavigationState" />
  32. <converter:NavigationStateConverter1 x:Key="_NavigationState1" />
  33. </Window.Resources>
  34. <b:Interaction.Triggers>
  35. <b:EventTrigger EventName="Loaded">
  36. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  37. </b:EventTrigger>
  38. <b:EventTrigger EventName="Closed">
  39. <b:InvokeCommandAction Command="{Binding ClosedCommand}" />
  40. </b:EventTrigger>
  41. </b:Interaction.Triggers>
  42. <materialDesign:DialogHost DialogTheme="Inherit"
  43. Identifier="RootDialog">
  44. <Grid>
  45. <Grid.RowDefinitions>
  46. <RowDefinition Height="100" />
  47. <RowDefinition Height="*" />
  48. <RowDefinition Height="auto" />
  49. </Grid.RowDefinitions>
  50. <Grid>
  51. <Grid.ColumnDefinitions>
  52. <ColumnDefinition Width="100" />
  53. <ColumnDefinition Width="100" />
  54. <ColumnDefinition Width="100" />
  55. <ColumnDefinition Width="100" />
  56. <ColumnDefinition Width="*" />
  57. <ColumnDefinition Width="100" />
  58. <ColumnDefinition Width="100" />
  59. <ColumnDefinition Width="100" />
  60. </Grid.ColumnDefinitions>
  61. <Grid.Resources>
  62. </Grid.Resources>
  63. <Button Grid.Column="0"
  64. Style="{StaticResource MaterialDesignIconButton}"
  65. ToolTip="{lex:Loc 运行窗口}"
  66. Width="90"
  67. Height="90"
  68. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=0}"
  69. Command="{Binding NavigationCommand}"
  70. CommandParameter="Home">
  71. <materialDesign:PackIcon Kind="HomeOutline"
  72. Width="70"
  73. Height="70"
  74. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=0}" />
  75. </Button>
  76. <Button Grid.Column="1"
  77. Style="{StaticResource MaterialDesignIconButton}"
  78. ToolTip="{lex:Loc 产品管理}"
  79. Width="90"
  80. Height="90"
  81. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=1}"
  82. Command="{Binding NavigationCommand}"
  83. CommandParameter="Products">
  84. <materialDesign:PackIcon Kind="FileTableBoxOutline"
  85. Width="70"
  86. Height="70"
  87. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=1}" />
  88. </Button>
  89. <Button Grid.Column="2"
  90. Style="{StaticResource MaterialDesignIconButton}"
  91. ToolTip="{lex:Loc 调试}"
  92. Width="90"
  93. Height="90"
  94. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=2}"
  95. Command="{Binding NavigationCommand}"
  96. CommandParameter="Debug">
  97. <materialDesign:PackIcon Kind="WrenchOutline"
  98. Width="70"
  99. Height="70"
  100. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=2}" />
  101. </Button>
  102. <Button Grid.Column="3"
  103. Style="{StaticResource MaterialDesignIconButton}"
  104. ToolTip="{lex:Loc 设置}"
  105. Width="90"
  106. Height="90"
  107. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=3}"
  108. Command="{Binding NavigationCommand}"
  109. CommandParameter="Setting">
  110. <materialDesign:PackIcon Kind="Cog"
  111. Width="70"
  112. Height="70"
  113. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=3}" />
  114. </Button>
  115. <materialDesign:Card Grid.Column="4"
  116. Margin="10"
  117. Background="{Binding management.StatusBackground}"
  118. UniformCornerRadius="15">
  119. <TextBlock Text="{Binding MyTitle}"
  120. FontSize="{DynamicResource Font.Size.Title1}"
  121. HorizontalAlignment="Center"
  122. VerticalAlignment="Center"
  123. FontWeight="Bold"/>
  124. </materialDesign:Card>
  125. <Button Grid.Column="5"
  126. Style="{StaticResource MaterialDesignIconButton}"
  127. ToolTip="{lex:Loc 校准}"
  128. Width="90"
  129. Height="90"
  130. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=5}"
  131. Command="{Binding NavigationCommand}"
  132. CommandParameter="Calib">
  133. <materialDesign:PackIcon Kind="CrosshairsGps"
  134. Width="70"
  135. Height="70"
  136. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=5}" />
  137. </Button>
  138. <Button Grid.Column="6"
  139. Style="{StaticResource MaterialDesignIconButton}"
  140. ToolTip="{lex:Loc 统计}"
  141. Width="90"
  142. Height="90"
  143. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=6}"
  144. Command="{Binding NavigationCommand}"
  145. CommandParameter="Statistics">
  146. <materialDesign:PackIcon Kind="ChartBellCurveCumulative"
  147. Width="70"
  148. Height="70"
  149. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=6}" />
  150. </Button>
  151. <Button Grid.Column="7"
  152. Style="{StaticResource MaterialDesignIconButton}"
  153. ToolTip="{lex:Loc 用户}"
  154. Width="90"
  155. Height="90"
  156. Background="{Binding NavigationIndex,Converter={StaticResource _NavigationState},ConverterParameter=7}"
  157. Command="{Binding NavigationCommand}"
  158. CommandParameter="User">
  159. <materialDesign:PackIcon Kind="AccountMultipleOutline"
  160. Width="70"
  161. Height="70"
  162. Foreground="{Binding NavigationIndex,Converter={StaticResource _NavigationState1},ConverterParameter=7}" />
  163. </Button>
  164. </Grid>
  165. <ContentControl Grid.Row="1"
  166. prism:RegionManager.RegionName="MainRegionContext" />
  167. <!--状态栏-->
  168. <StatusBar x:Name="status"
  169. Grid.Row="2">
  170. <ItemsControl ItemsSource="{Binding Status}" HorizontalAlignment="Left" VerticalAlignment="Center">
  171. <ItemsControl.ItemsPanel>
  172. <ItemsPanelTemplate>
  173. <VirtualizingStackPanel Orientation="Horizontal" />
  174. </ItemsPanelTemplate>
  175. </ItemsControl.ItemsPanel>
  176. <ItemsControl.ItemTemplate>
  177. <DataTemplate>
  178. <TextBlock Text="{Binding Message,Mode=TwoWay}"
  179. MinWidth="40"
  180. Foreground="Black"
  181. Background="{Binding Background,Mode=TwoWay}"
  182. Margin="4,0"
  183. VerticalAlignment="Center"
  184. FontSize="{DynamicResource Font.Size. Font.Size.Captions4}"
  185. Opacity="0.7"/>
  186. </DataTemplate>
  187. </ItemsControl.ItemTemplate>
  188. </ItemsControl>
  189. </StatusBar>
  190. <materialDesign:Snackbar Grid.Row="1"
  191. x:Name="SnackbarSeven"
  192. Opacity="0.8"
  193. HorizontalContentAlignment="Center"
  194. FontSize="{DynamicResource Font.Size.Body1}"
  195. MessageQueue="{materialDesign:MessageQueue}"
  196. VerticalAlignment="Bottom" />
  197. </Grid>
  198. </materialDesign:DialogHost>
  199. </Window>