FeederClear.xaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. <UserControl x:Class="TeamAAS_VP.Views.DebugMod.FeederClear"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:prism="http://prismlibrary.com/"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.DebugMod"
  8. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  9. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  10. xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  11. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  12. xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
  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. prism:ViewModelLocator.AutoWireViewModel="True"
  18. mc:Ignorable="d"
  19. d:Background="White"
  20. d:DataContext="{d:DesignInstance Type=vm:FeederClearViewModel}"
  21. FontFamily="{DynamicResource DefaultFont}">
  22. <b:Interaction.Triggers>
  23. <b:EventTrigger EventName="Loaded">
  24. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  25. </b:EventTrigger>
  26. </b:Interaction.Triggers>
  27. <UserControl.Resources>
  28. <ObjectDataProvider x:Key="eVibrationFunction"
  29. MethodName="GetValues"
  30. ObjectType="{x:Type sys:Enum}">
  31. <ObjectDataProvider.MethodParameters>
  32. <x:Type TypeName="enums:VibrationFunction" />
  33. </ObjectDataProvider.MethodParameters>
  34. </ObjectDataProvider>
  35. </UserControl.Resources>
  36. <Grid IsEnabled="{Binding IsAllowEdit}"
  37. HorizontalAlignment="Center"
  38. VerticalAlignment="Top">
  39. <Grid.RowDefinitions>
  40. <RowDefinition Height="auto" />
  41. <RowDefinition Height="auto" />
  42. <RowDefinition Height="*" />
  43. </Grid.RowDefinitions>
  44. <Button HorizontalAlignment="Center"
  45. materialDesign:ButtonAssist.CornerRadius="10"
  46. Width="200"
  47. Command="{Binding StartClearFeederCommand}"
  48. CommandParameter="{Binding ElementName=cmb_Feeder,Path=SelectedItem}">
  49. <StackPanel Orientation="Horizontal">
  50. <materialDesign:PackIcon Kind="Play" />
  51. <TextBlock Margin=" 5,0"
  52. Text="{lex:Loc 开始清料}" />
  53. </StackPanel>
  54. </Button>
  55. <StackPanel Grid.Row="1"
  56. Orientation="Horizontal"
  57. Margin="0,10"
  58. HorizontalAlignment="Center">
  59. <TextBlock Text="Feeder:"
  60. Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
  61. HorizontalAlignment="Right"
  62. VerticalAlignment="Center" />
  63. <ComboBox x:Name="cmb_Feeder"
  64. IsEnabled="{Binding IsCanSelect}"
  65. SelectedItem="{Binding SelectFeeder,Mode=TwoWay}"
  66. Margin="5,0"
  67. MinWidth="80"
  68. HorizontalContentAlignment="Center"
  69. ItemsSource="{Binding Feeders}"
  70. HorizontalAlignment="Left"
  71. VerticalAlignment="Center"
  72. materialDesign:HintAssist.Hint="{lex:Loc 选择Feeder}">
  73. <ComboBox.ItemTemplate>
  74. <DataTemplate>
  75. <StackPanel Orientation="Horizontal">
  76. <materialDesign:PackIcon Kind="Vibrate" />
  77. <TextBlock Text="{Binding FeederName}" />
  78. </StackPanel>
  79. </DataTemplate>
  80. </ComboBox.ItemTemplate>
  81. </ComboBox>
  82. <ComboBox SelectedItem="{Binding SelelctFeederClearWork,Mode=TwoWay}"
  83. Margin="5,0"
  84. MinWidth="80"
  85. IsEnabled="{Binding IsCanSelect}"
  86. HorizontalContentAlignment="Center"
  87. ItemsSource="{Binding FeederClearWorks}"
  88. HorizontalAlignment="Left"
  89. VerticalAlignment="Center"
  90. materialDesign:HintAssist.Hint="{lex:Loc 选择任务}">
  91. <ComboBox.ItemTemplate>
  92. <DataTemplate>
  93. <StackPanel Orientation="Vertical">
  94. <TextBlock Text="{Binding Name}" />
  95. <TextBlock Text="{Binding CreateTime,StringFormat={}{0:yyyy年MM月dd日HH:mm:ss}}" Foreground="Gray"/>
  96. </StackPanel>
  97. </DataTemplate>
  98. </ComboBox.ItemTemplate>
  99. </ComboBox>
  100. <mah:NumericUpDown Interval="1"
  101. Style="{StaticResource MahApps.Styles.NumericUpDown.DataGrid.Editing}"
  102. IsEnabled="{Binding IsCanEdit}"
  103. Minimum="1"
  104. Maximum="100"
  105. materialDesign:HintAssist.Hint="{lex:Loc 循环次数}"
  106. materialDesign:HintAssist.HelperText="{lex:Loc 循环次数}"
  107. VerticalAlignment="Center"
  108. StringFormat="{}{0:N0}"
  109. BorderThickness="1"
  110. Value="{Binding SelelctFeederClearWork.ClearCount,Mode=TwoWay}" />
  111. <Button HorizontalAlignment="Center"
  112. materialDesign:ButtonAssist.CornerRadius="10"
  113. Margin="10,0"
  114. Background="Green"
  115. Command="{Binding SaveClearTaskCommand}"
  116. CommandParameter="{Binding ElementName=cmb_Feeder,Path=SelectedItem}">
  117. <StackPanel Orientation="Horizontal">
  118. <materialDesign:PackIcon Kind="ContentSave" />
  119. <TextBlock Margin=" 5,0"
  120. Text="{lex:Loc 保存}" />
  121. </StackPanel>
  122. </Button>
  123. <Button HorizontalAlignment="Center"
  124. materialDesign:ButtonAssist.CornerRadius="10"
  125. Command="{Binding AddClearTaskCommand}"
  126. CommandParameter="{Binding ElementName=cmb_Feeder,Path=SelectedItem}">
  127. <StackPanel Orientation="Horizontal">
  128. <materialDesign:PackIcon Kind="Add" />
  129. <TextBlock Text="{lex:Loc 增加任务}" />
  130. </StackPanel>
  131. </Button>
  132. <Button HorizontalAlignment="Center"
  133. materialDesign:ButtonAssist.CornerRadius="10"
  134. Margin="5,0"
  135. Background="DarkRed"
  136. Command="{Binding RemoveClearTaskCommand}"
  137. CommandParameter="{Binding ElementName=cmb_Feeder,Path=SelectedItem}">
  138. <StackPanel Orientation="Horizontal">
  139. <materialDesign:PackIcon Kind="Remove" />
  140. <TextBlock Text="{lex:Loc 移除}" />
  141. </StackPanel>
  142. </Button>
  143. </StackPanel>
  144. <Border Grid.Row="2"
  145. CornerRadius="10"
  146. BorderThickness="1"
  147. BorderBrush="Gray"
  148. HorizontalAlignment="Center"
  149. IsEnabled="{Binding IsCanEdit}"
  150. Margin="0,10">
  151. <ScrollViewer Margin="20">
  152. <StackPanel Orientation="Vertical">
  153. <!--清料前-->
  154. <Expander HorizontalAlignment="Stretch"
  155. Background="Transparent"
  156. IsEnabled="{Binding IsCanExecute}"
  157. materialDesign:ExpanderAssist.ExpanderButtonPosition="Start"
  158. IsExpanded="True">
  159. <Expander.Header>
  160. <TextBlock FontWeight="Bold"
  161. Text="{lex:Loc 清料开始前}" />
  162. </Expander.Header>
  163. <StackPanel Orientation="Vertical"
  164. Margin="10,3">
  165. <StackPanel Orientation="Horizontal">
  166. <TextBlock Text="{lex:Loc 输出,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  167. VerticalAlignment="Center" />
  168. <ComboBox MinWidth="100"
  169. materialDesign:HintAssist.Hint="{lex:Loc 选择输出}"
  170. materialDesign:HintAssist.HelperText="{lex:Loc 选择输出}"
  171. Margin="5,0"
  172. SelectedItem="{Binding SelelctFeederClearWork.BeforeOutput,Mode=TwoWay}"
  173. ItemsSource="{Binding Source={StaticResource eVibrationFunction}}" />
  174. <Button Style="{StaticResource MaterialDesignIconButton}">
  175. <materialDesign:PackIcon Kind="ScriptTextPlayOutline" />
  176. </Button>
  177. </StackPanel>
  178. </StackPanel>
  179. </Expander>
  180. <!--振动盘-->
  181. <Border BorderThickness="1,1,1,1"
  182. CornerRadius="10"
  183. Margin="0,2">
  184. <Border.BorderBrush>
  185. <VisualBrush>
  186. <VisualBrush.Visual>
  187. <Rectangle StrokeDashArray="4 4"
  188. Stroke="Gray"
  189. StrokeThickness="1"
  190. Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
  191. Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}" />
  192. </VisualBrush.Visual>
  193. </VisualBrush>
  194. </Border.BorderBrush>
  195. <Expander HorizontalAlignment="Stretch"
  196. Background="Transparent"
  197. IsEnabled="{Binding IsCanExecute}"
  198. materialDesign:ExpanderAssist.ExpanderButtonPosition="Start"
  199. IsExpanded="True">
  200. <Expander.Header>
  201. <TextBlock FontWeight="Bold"
  202. Text="{lex:Loc 清料过程}" />
  203. </Expander.Header>
  204. <StackPanel Orientation="Vertical" Margin="10,3">
  205. <StackPanel Orientation="Horizontal">
  206. <TextBlock Text="{lex:Loc 动作,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  207. VerticalAlignment="Center" />
  208. <ComboBox MinWidth="100"
  209. materialDesign:HintAssist.Hint="{lex:Loc 选择动作}"
  210. materialDesign:HintAssist.HelperText="{lex:Loc 选择动作}"
  211. Margin="5,0"
  212. SelectedIndex="{Binding SelectFeederFunctionIndex,Mode=TwoWay}">
  213. <!--A-->
  214. <ComboBoxItem>
  215. <StackPanel Orientation="Horizontal">
  216. <TextBlock Text="A"
  217. VerticalAlignment="Center" />
  218. <materialDesign:PackIcon Kind="ArrowLeftBold"
  219. Margin="5,0" />
  220. </StackPanel>
  221. </ComboBoxItem>
  222. <!--B-->
  223. <ComboBoxItem>
  224. <StackPanel Orientation="Horizontal">
  225. <TextBlock Text="B"
  226. VerticalAlignment="Center" />
  227. <materialDesign:PackIcon Kind="ArrowBottomLeftThick"
  228. Margin="5,0" />
  229. </StackPanel>
  230. </ComboBoxItem>
  231. <!--C-->
  232. <ComboBoxItem>
  233. <StackPanel Orientation="Horizontal">
  234. <TextBlock Text="C"
  235. VerticalAlignment="Center" />
  236. <materialDesign:PackIcon Kind="ArrowTopLeftThick"
  237. Margin="5,0" />
  238. </StackPanel>
  239. </ComboBoxItem>
  240. <!--D-->
  241. <ComboBoxItem>
  242. <StackPanel Orientation="Horizontal">
  243. <TextBlock Text="D"
  244. VerticalAlignment="Center" />
  245. <materialDesign:PackIcon Kind="ArrowDownBold"
  246. Margin="5,0" />
  247. </StackPanel>
  248. </ComboBoxItem>
  249. <!--E-->
  250. <ComboBoxItem>
  251. <StackPanel Orientation="Horizontal">
  252. <TextBlock Text="E"
  253. VerticalAlignment="Center" />
  254. <materialDesign:PackIcon Kind="ArrowUpBold"
  255. Margin="5,0" />
  256. </StackPanel>
  257. </ComboBoxItem>
  258. <!--F-->
  259. <ComboBoxItem>
  260. <StackPanel Orientation="Horizontal">
  261. <TextBlock Text="F"
  262. VerticalAlignment="Center" />
  263. <materialDesign:PackIcon Kind="ArrowRightBold"
  264. Margin="5,0" />
  265. </StackPanel>
  266. </ComboBoxItem>
  267. <!--G-->
  268. <ComboBoxItem>
  269. <StackPanel Orientation="Horizontal">
  270. <TextBlock Text="G"
  271. VerticalAlignment="Center" />
  272. <materialDesign:PackIcon Kind="ArrowBottomRightThick"
  273. Margin="5,0" />
  274. </StackPanel>
  275. </ComboBoxItem>
  276. <!--H-->
  277. <ComboBoxItem>
  278. <StackPanel Orientation="Horizontal">
  279. <TextBlock Text="H"
  280. VerticalAlignment="Center" />
  281. <materialDesign:PackIcon Kind="ArrowTopRightThick"
  282. Margin="5,0" />
  283. </StackPanel>
  284. </ComboBoxItem>
  285. <!--I-->
  286. <ComboBoxItem>
  287. <StackPanel Orientation="Horizontal">
  288. <TextBlock Text="I"
  289. VerticalAlignment="Center" />
  290. <materialDesign:PackIcon Kind="ArrowExpandAll"
  291. Margin="5,0" />
  292. </StackPanel>
  293. </ComboBoxItem>
  294. <!--J-->
  295. <ComboBoxItem>
  296. <StackPanel Orientation="Horizontal">
  297. <TextBlock Text="J"
  298. VerticalAlignment="Center" />
  299. <materialDesign:PackIcon Kind="ArrowCollapseHorizontal"
  300. Margin="5,0" />
  301. </StackPanel>
  302. </ComboBoxItem>
  303. <!--K-->
  304. <ComboBoxItem>
  305. <StackPanel Orientation="Horizontal">
  306. <TextBlock Text="K"
  307. VerticalAlignment="Center" />
  308. <materialDesign:PackIcon Kind="ArrowCollapseVertical"
  309. Margin="5,0" />
  310. </StackPanel>
  311. </ComboBoxItem>
  312. <!--L-->
  313. <ComboBoxItem>L</ComboBoxItem>
  314. <!--M-->
  315. <ComboBoxItem>M</ComboBoxItem>
  316. <!--N-->
  317. <ComboBoxItem>N</ComboBoxItem>
  318. <!--O-->
  319. <ComboBoxItem>O</ComboBoxItem>
  320. <!--P-->
  321. <ComboBoxItem>P</ComboBoxItem>
  322. <!--Q-->
  323. <ComboBoxItem>Q</ComboBoxItem>
  324. <!--R-->
  325. <ComboBoxItem>R</ComboBoxItem>
  326. <!--S-->
  327. <ComboBoxItem>S</ComboBoxItem>
  328. <!--T-->
  329. <ComboBoxItem>T</ComboBoxItem>
  330. <!--U-->
  331. <ComboBoxItem>U</ComboBoxItem>
  332. <!--V-->
  333. <ComboBoxItem>V</ComboBoxItem>
  334. <!--W-->
  335. <ComboBoxItem>W</ComboBoxItem>
  336. <!--X-->
  337. <ComboBoxItem>X</ComboBoxItem>
  338. <!--Y-->
  339. <ComboBoxItem>Y</ComboBoxItem>
  340. <!--Z-->
  341. <ComboBoxItem>Z</ComboBoxItem>
  342. <!--Delay-->
  343. <ComboBoxItem>Delay</ComboBoxItem>
  344. </ComboBox>
  345. <Button Content="{lex:Loc 添加}"
  346. materialDesign:ButtonAssist.CornerRadius="10"
  347. Command="{Binding AddFunctionCommand}" />
  348. <Button Content="{lex:Loc 移除}"
  349. Margin="5,0"
  350. materialDesign:ButtonAssist.CornerRadius="10"
  351. Command="{Binding RemoveFunctionCommand}"
  352. CommandParameter="{Binding ElementName=lstAction,Path=SelectedIndex}" />
  353. <mah:NumericUpDown Interval="1"
  354. Style="{StaticResource MahApps.Styles.NumericUpDown.DataGrid.Editing}"
  355. Minimum="1"
  356. Maximum="100"
  357. materialDesign:HintAssist.Hint="{lex:Loc 循环次数}"
  358. materialDesign:HintAssist.HelperText="{lex:Loc 循环次数}"
  359. BorderThickness="1"
  360. VerticalAlignment="Center"
  361. StringFormat="{}{0:N0}"
  362. Value="{Binding SelelctFeederClearWork.VibrationCount,Mode=TwoWay}" />
  363. </StackPanel>
  364. <ListView x:Name="lstAction"
  365. ItemsSource="{Binding SelelctFeederClearWork.FeederWorks.FeederWorkList}">
  366. <ListView.View>
  367. <GridView>
  368. <GridViewColumn Header="Setp"
  369. DisplayMemberBinding="{Binding Step}" />
  370. <GridViewColumn Header="{lex:Loc 动作}">
  371. <GridViewColumn.CellTemplate>
  372. <DataTemplate>
  373. <ComboBox Width="100"
  374. HorizontalContentAlignment="Center"
  375. SelectedItem="{Binding Function,Mode=TwoWay}"
  376. ItemsSource="{Binding Source={StaticResource eVibrationFunction}}">
  377. </ComboBox>
  378. </DataTemplate>
  379. </GridViewColumn.CellTemplate>
  380. </GridViewColumn>
  381. <GridViewColumn Header="{lex:Loc 持续时间,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}(ms)'}">
  382. <GridViewColumn.CellTemplate>
  383. <DataTemplate>
  384. <mah:NumericUpDown Interval="100"
  385. Style="{StaticResource MahApps.Styles.NumericUpDown.DataGrid.Editing}"
  386. Minimum="1"
  387. Maximum="100000"
  388. StringFormat="{}{0:N0} ms"
  389. Value="{Binding Duration,Mode=TwoWay}" />
  390. </DataTemplate>
  391. </GridViewColumn.CellTemplate>
  392. </GridViewColumn>
  393. </GridView>
  394. </ListView.View>
  395. </ListView>
  396. </StackPanel>
  397. </Expander>
  398. </Border>
  399. <!--清料完成时-->
  400. <Expander HorizontalAlignment="Stretch"
  401. Background="Transparent"
  402. IsEnabled="{Binding IsCanExecute}"
  403. materialDesign:ExpanderAssist.ExpanderButtonPosition="Start"
  404. IsExpanded="True">
  405. <Expander.Header>
  406. <TextBlock FontWeight="Bold"
  407. Text="{lex:Loc 清料完成时}" />
  408. </Expander.Header>
  409. <StackPanel Orientation="Vertical"
  410. Margin="10,3">
  411. <StackPanel Orientation="Horizontal">
  412. <TextBlock Text="{lex:Loc 输出,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  413. VerticalAlignment="Center" />
  414. <ComboBox MinWidth="100"
  415. materialDesign:HintAssist.Hint="{lex:Loc 选择输出}"
  416. materialDesign:HintAssist.HelperText="{lex:Loc 选择输出}"
  417. Margin="5,0"
  418. SelectedItem="{Binding SelelctFeederClearWork.BackOutput,Mode=TwoWay}"
  419. ItemsSource="{Binding Source={StaticResource eVibrationFunction}}"/>
  420. <Button Style="{StaticResource MaterialDesignIconButton}">
  421. <materialDesign:PackIcon Kind="ScriptTextPlayOutline" />
  422. </Button>
  423. </StackPanel>
  424. </StackPanel>
  425. </Expander>
  426. </StackPanel>
  427. </ScrollViewer>
  428. </Border>
  429. </Grid>
  430. </UserControl>