PlcPointOffserParams.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. <UserControl x:Class="TeamAAS_VP.Views.Product.PlcPointOffserParams"
  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. prism:ViewModelLocator.AutoWireViewModel="True"
  6. xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  7. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  10. xmlns:system="clr-namespace:System;assembly=mscorlib"
  11. xmlns:local="clr-namespace:TeamAAS_VP.Controls"
  12. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Product"
  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:DesignHeight="768"
  19. d:DesignWidth="1024"
  20. d:Background="White"
  21. MaxHeight="1000"
  22. MaxWidth="1840"
  23. d:DataContext="{d:DesignInstance Type=vm:PlcPointOffserParamsViewModel}"
  24. FontFamily="{DynamicResource DefaultFont}">
  25. <prism:Dialog.WindowStyle>
  26. <Style TargetType="Window">
  27. <Setter Property="prism:Dialog.WindowStartupLocation"
  28. Value="CenterScreen" />
  29. <!--<Setter Property="WindowChrome.WindowChrome">
  30. <Setter.Value>
  31. <WindowChrome CaptionHeight="0"
  32. ResizeBorderThickness="1" />
  33. </Setter.Value>
  34. </Setter>-->
  35. <Setter Property="WindowStyle"
  36. Value="None" />
  37. <Setter Property="AllowDrop"
  38. Value="True" />
  39. <Setter Property="BorderThickness"
  40. Value="0" />
  41. <Setter Property="ShowInTaskbar"
  42. Value="False" />
  43. <Setter Property="SizeToContent"
  44. Value="WidthAndHeight" />
  45. <Setter Property="WindowState"
  46. Value="Normal" />
  47. <Setter Property="Topmost"
  48. Value="True" />
  49. </Style>
  50. </prism:Dialog.WindowStyle>
  51. <Grid Margin="16">
  52. <Grid.RowDefinitions>
  53. <RowDefinition Height="auto" />
  54. <RowDefinition Height="*" />
  55. <RowDefinition Height="auto" />
  56. </Grid.RowDefinitions>
  57. <TextBlock Text="{Binding Title}"
  58. FontSize="16"
  59. FontWeight="Bold"
  60. Margin="0,10"
  61. VerticalAlignment="Center"
  62. TextAlignment="Left"
  63. HorizontalAlignment="Left" />
  64. <!--点位表-->
  65. <Border Grid.Row="1"
  66. BorderBrush="#D0D0D0"
  67. BorderThickness="1"
  68. Margin="0,5">
  69. <DataGrid x:Name="dgPoints"
  70. AutoGenerateColumns="False"
  71. CanUserAddRows="False"
  72. CanUserDeleteRows="False"
  73. ColumnWidth="*"
  74. SelectionUnit="FullRow"
  75. SelectionMode="Single"
  76. ItemsSource="{Binding Points}"
  77. HeadersVisibility="Column"
  78. HorizontalScrollBarVisibility="Auto"
  79. ScrollViewer.CanContentScroll="True"
  80. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  81. GridLinesVisibility="All"
  82. VerticalGridLinesBrush="#D0D0D0">
  83. <DataGrid.Resources>
  84. <Style TargetType="DataGridCell">
  85. <Style.Resources>
  86. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
  87. Color="#0078D7" />
  88. </Style.Resources>
  89. <Setter Property="MinHeight"
  90. Value="25" />
  91. <Setter Property="VerticalContentAlignment"
  92. Value="Center" />
  93. <Setter Property="HorizontalContentAlignment"
  94. Value="Center" />
  95. <Setter Property="VerticalAlignment"
  96. Value="Center" />
  97. <Setter Property="TextBlock.TextAlignment"
  98. Value="Center" />
  99. <Setter Property="Padding"
  100. Value="0" />
  101. <Style.Triggers>
  102. <Trigger Property="IsSelected"
  103. Value="True">
  104. <Setter Property="Foreground"
  105. Value="White" />
  106. </Trigger>
  107. </Style.Triggers>
  108. </Style>
  109. <!-- 为 TextBlock 添加默认居中样式 -->
  110. <Style TargetType="TextBlock">
  111. <Setter Property="TextAlignment"
  112. Value="Center" />
  113. <Setter Property="HorizontalAlignment"
  114. Value="Center" />
  115. <Setter Property="VerticalAlignment"
  116. Value="Center" />
  117. </Style>
  118. </DataGrid.Resources>
  119. <DataGrid.Columns>
  120. <DataGridTextColumn Header="{lex:Loc 编号}"
  121. IsReadOnly="True"
  122. MinWidth="60"
  123. Width="Auto"
  124. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}">
  125. </DataGridTextColumn>
  126. <DataGridTextColumn Header="{lex:Loc 标签}"
  127. MinWidth="100"
  128. Width="Auto"
  129. Binding="{Binding Label, Mode=TwoWay}" />
  130. <!--X 坐标-->
  131. <DataGridTemplateColumn Header="{lex:Loc X补偿}"
  132. MinWidth="60"
  133. Width="Auto">
  134. <DataGridTemplateColumn.CellTemplate>
  135. <DataTemplate>
  136. <TextBlock Text="{Binding X_Offset, StringFormat={}{0:F3}}"
  137. HorizontalAlignment="Center"
  138. VerticalAlignment="Center" />
  139. </DataTemplate>
  140. </DataGridTemplateColumn.CellTemplate>
  141. <DataGridTemplateColumn.CellEditingTemplate>
  142. <DataTemplate>
  143. <mah:NumericUpDown Value="{Binding X_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  144. Minimum="-9999.000"
  145. Maximum="9999.000"
  146. Interval="0.1"
  147. StringFormat="F3"
  148. HorizontalAlignment="Stretch"
  149. VerticalAlignment="Center"
  150. Margin="0"
  151. Padding="2" />
  152. </DataTemplate>
  153. </DataGridTemplateColumn.CellEditingTemplate>
  154. </DataGridTemplateColumn>
  155. <!--Y 坐标-->
  156. <DataGridTemplateColumn Header="{lex:Loc Y补偿}"
  157. MinWidth="60"
  158. Width="Auto">
  159. <DataGridTemplateColumn.CellTemplate>
  160. <DataTemplate>
  161. <TextBlock Text="{Binding Y_Offset, StringFormat={}{0:F3}}"
  162. HorizontalAlignment="Center"
  163. VerticalAlignment="Center" />
  164. </DataTemplate>
  165. </DataGridTemplateColumn.CellTemplate>
  166. <DataGridTemplateColumn.CellEditingTemplate>
  167. <DataTemplate>
  168. <mah:NumericUpDown Value="{Binding Y_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  169. Minimum="-9999.000"
  170. Maximum="9999.000"
  171. Interval="0.1"
  172. StringFormat="F3"
  173. HorizontalAlignment="Stretch"
  174. VerticalAlignment="Center"
  175. Margin="0"
  176. Padding="2" />
  177. </DataTemplate>
  178. </DataGridTemplateColumn.CellEditingTemplate>
  179. </DataGridTemplateColumn>
  180. <!--Z 起点坐标-->
  181. <DataGridTemplateColumn Header="{lex:Loc Z起点补偿}"
  182. MinWidth="60"
  183. Width="Auto">
  184. <DataGridTemplateColumn.CellTemplate>
  185. <DataTemplate>
  186. <TextBlock Text="{Binding Z_Start_Offset, StringFormat={}{0:F3}}"
  187. HorizontalAlignment="Center"
  188. VerticalAlignment="Center" />
  189. </DataTemplate>
  190. </DataGridTemplateColumn.CellTemplate>
  191. <DataGridTemplateColumn.CellEditingTemplate>
  192. <DataTemplate>
  193. <mah:NumericUpDown Value="{Binding Z_Start_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  194. Minimum="-9999.000"
  195. Maximum="9999.000"
  196. Interval="0.1"
  197. StringFormat="F3"
  198. HorizontalAlignment="Stretch"
  199. VerticalAlignment="Center"
  200. Margin="0"
  201. Padding="2" />
  202. </DataTemplate>
  203. </DataGridTemplateColumn.CellEditingTemplate>
  204. </DataGridTemplateColumn>
  205. <!--Z 终点坐标-->
  206. <DataGridTemplateColumn Header="{lex:Loc Z终点补偿}"
  207. MinWidth="60"
  208. Width="Auto">
  209. <DataGridTemplateColumn.CellTemplate>
  210. <DataTemplate>
  211. <TextBlock Text="{Binding Z_Stop_Offset, StringFormat={}{0:F3}}"
  212. HorizontalAlignment="Center"
  213. VerticalAlignment="Center" />
  214. </DataTemplate>
  215. </DataGridTemplateColumn.CellTemplate>
  216. <DataGridTemplateColumn.CellEditingTemplate>
  217. <DataTemplate>
  218. <mah:NumericUpDown Value="{Binding Z_Stop_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  219. Minimum="-9999.000"
  220. Maximum="9999.000"
  221. Interval="0.1"
  222. StringFormat="F3"
  223. HorizontalAlignment="Stretch"
  224. VerticalAlignment="Center"
  225. Margin="0"
  226. Padding="2" />
  227. </DataTemplate>
  228. </DataGridTemplateColumn.CellEditingTemplate>
  229. </DataGridTemplateColumn>
  230. <!--U 坐标-->
  231. <DataGridTemplateColumn Header="{lex:Loc U补偿}"
  232. MinWidth="60"
  233. Width="Auto">
  234. <DataGridTemplateColumn.CellTemplate>
  235. <DataTemplate>
  236. <TextBlock Text="{Binding U_Offset, StringFormat={}{0:F3}}"
  237. HorizontalAlignment="Center"
  238. VerticalAlignment="Center" />
  239. </DataTemplate>
  240. </DataGridTemplateColumn.CellTemplate>
  241. <DataGridTemplateColumn.CellEditingTemplate>
  242. <DataTemplate>
  243. <mah:NumericUpDown Value="{Binding U_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  244. Minimum="-9999.000"
  245. Maximum="9999.000"
  246. Interval="0.1"
  247. StringFormat="F3"
  248. HorizontalAlignment="Stretch"
  249. VerticalAlignment="Center"
  250. Margin="0"
  251. Padding="2" />
  252. </DataTemplate>
  253. </DataGridTemplateColumn.CellEditingTemplate>
  254. </DataGridTemplateColumn>
  255. <!--R 坐标-->
  256. <DataGridTemplateColumn Header="{lex:Loc R补偿}"
  257. MinWidth="60"
  258. Width="Auto">
  259. <DataGridTemplateColumn.CellTemplate>
  260. <DataTemplate>
  261. <TextBlock Text="{Binding R_Offset, StringFormat={}{0:F3}}"
  262. HorizontalAlignment="Center"
  263. VerticalAlignment="Center" />
  264. </DataTemplate>
  265. </DataGridTemplateColumn.CellTemplate>
  266. <DataGridTemplateColumn.CellEditingTemplate>
  267. <DataTemplate>
  268. <mah:NumericUpDown Value="{Binding R_Offset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  269. Minimum="-9999.000"
  270. Maximum="9999.000"
  271. Interval="0.1"
  272. StringFormat="F3"
  273. HorizontalAlignment="Stretch"
  274. VerticalAlignment="Center"
  275. Margin="0"
  276. Padding="2" />
  277. </DataTemplate>
  278. </DataGridTemplateColumn.CellEditingTemplate>
  279. </DataGridTemplateColumn>
  280. <DataGridTextColumn Header="{lex:Loc 描述}"
  281. MinWidth="100"
  282. Width="200"
  283. Binding="{Binding Description, Mode=TwoWay}" />
  284. </DataGrid.Columns>
  285. </DataGrid>
  286. </Border>
  287. <StackPanel Grid.Row="2"
  288. Orientation="Horizontal"
  289. HorizontalAlignment="Right">
  290. <!--清除所有补偿-->
  291. <Button Height="30"
  292. Margin="0,0,20,0"
  293. materialDesign:ButtonAssist.CornerRadius="10"
  294. Style="{StaticResource MaterialDesignRaisedButton}"
  295. ToolTip="{lex:Loc 清除所有补偿}"
  296. Command="{Binding ClearAllOffsetCommand}">
  297. <TextBlock Text="{lex:Loc 清除所有补偿}" />
  298. </Button>
  299. <Button Height="30"
  300. materialDesign:ButtonAssist.CornerRadius="10"
  301. Style="{StaticResource MaterialDesignRaisedButton}"
  302. ToolTip="{lex:Loc 确定}"
  303. Command="{Binding ConfirmCommand}">
  304. <TextBlock Text="{lex:Loc 确定}" />
  305. </Button>
  306. <Button Height="30"
  307. Margin="20,0"
  308. materialDesign:ButtonAssist.CornerRadius="10"
  309. Style="{StaticResource MaterialDesignRaisedButton}"
  310. ToolTip="{lex:Loc 取消}"
  311. Command="{Binding CancelCommand}">
  312. <TextBlock Text="{lex:Loc 取消}" />
  313. </Button>
  314. </StackPanel>
  315. </Grid>
  316. </UserControl>