终端一体化运控平台
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

614 linhas
35 KiB

  1. <UserControl
  2. x:Class="BPASmart.VariableManager.Views.VariableConfig"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:con="clr-namespace:BPASmart.VariableManager.Converter"
  6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7. xmlns:local="clr-namespace:BPASmart.VariableManager.Views"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. xmlns:pry="clr-namespace:BPASmartClient.CustomResource.UserControls;assembly=BPASmartClient.CustomResource"
  10. xmlns:vm="clr-namespace:BPASmart.VariableManager.ViewModels"
  11. d:DesignHeight="600"
  12. d:DesignWidth="1200"
  13. mc:Ignorable="d">
  14. <!--<UserControl.DataContext>
  15. <vm:VariableConfig />
  16. </UserControl.DataContext>-->
  17. <UserControl.Resources>
  18. <Style x:Key="TextBoxStyle" TargetType="TextBox">
  19. <Setter Property="FontFamily" Value="楷体" />
  20. <Setter Property="FontSize" Value="22" />
  21. <Setter Property="VerticalContentAlignment" Value="Center" />
  22. <Setter Property="Width" Value="188" />
  23. <Setter Property="Padding" Value="6,0,0,0" />
  24. <Setter Property="Height" Value="37" />
  25. <Setter Property="BorderThickness" Value="0" />
  26. <Setter Property="Foreground" Value="{StaticResource PoupTextblockColor}" />
  27. <Setter Property="BorderBrush" Value="{StaticResource PoupTextblockColor}" />
  28. <Setter Property="CaretBrush" Value="{StaticResource PoupTextblockColor}" />
  29. <Setter Property="VerticalAlignment" Value="Center" />
  30. <Setter Property="Background">
  31. <Setter.Value>
  32. <ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/textBox.png" Stretch="Fill" />
  33. </Setter.Value>
  34. </Setter>
  35. </Style>
  36. <Style x:Key="TextBlockStyle" TargetType="TextBlock">
  37. <Setter Property="FontFamily" Value="楷体" />
  38. <Setter Property="FontSize" Value="18" />
  39. <Setter Property="Foreground" Value="{StaticResource PoupTextblockColor}" />
  40. <Setter Property="VerticalAlignment" Value="Center" />
  41. <Setter Property="HorizontalAlignment" Value="Center" />
  42. </Style>
  43. <Style x:Key="RowRadioButtonStyle" TargetType="{x:Type RadioButton}">
  44. <Setter Property="Template">
  45. <Setter.Value>
  46. <ControlTemplate TargetType="{x:Type RadioButton}">
  47. <Border
  48. x:Name="NvaBor"
  49. Background="Transparent"
  50. BorderBrush="#FF2AB2E7"
  51. BorderThickness="0">
  52. <ContentControl
  53. Margin="10,4"
  54. HorizontalAlignment="Center"
  55. VerticalAlignment="Center"
  56. HorizontalContentAlignment="Center"
  57. VerticalContentAlignment="Center"
  58. Content="{TemplateBinding Content}"
  59. FontSize="16" />
  60. </Border>
  61. <ControlTemplate.Triggers>
  62. <Trigger Property="IsChecked" Value="True">
  63. <Setter TargetName="NvaBor" Property="Background" Value="#22ffffff" />
  64. <Setter TargetName="NvaBor" Property="BorderThickness" Value="0" />
  65. </Trigger>
  66. <MultiTrigger>
  67. <MultiTrigger.Conditions>
  68. <Condition Property="IsChecked" Value="false" />
  69. <Condition Property="IsMouseOver" Value="True" />
  70. </MultiTrigger.Conditions>
  71. <MultiTrigger.Setters>
  72. <Setter TargetName="NvaBor" Property="Background" Value="#22ffffff" />
  73. </MultiTrigger.Setters>
  74. </MultiTrigger>
  75. </ControlTemplate.Triggers>
  76. </ControlTemplate>
  77. </Setter.Value>
  78. </Setter>
  79. </Style>
  80. <Style x:Key="InputTextboxStyle" TargetType="TextBox">
  81. <Setter Property="Margin" Value="0,0,0,0" />
  82. <Setter Property="Padding" Value="5,0,5,0" />
  83. <Setter Property="BorderThickness" Value="0" />
  84. <Setter Property="HorizontalAlignment" Value="Left" />
  85. <Setter Property="Height" Value="40" />
  86. <Setter Property="CaretBrush" Value="{StaticResource TitleBorderColor}" />
  87. <Setter Property="Foreground" Value="{StaticResource TitleBorderColor}" />
  88. <Setter Property="VerticalContentAlignment" Value="Center" />
  89. <Setter Property="FontSize" Value="14" />
  90. <Setter Property="Background" Value="Transparent" />
  91. <Setter Property="VerticalAlignment" Value="Center" />
  92. </Style>
  93. <Style x:Key="ControlButtonStyle" TargetType="Button">
  94. <Setter Property="Margin" Value="0" />
  95. <Setter Property="FontSize" Value="18" />
  96. <Setter Property="Foreground" Value="#FFF53F62" />
  97. <Setter Property="FontWeight" Value="SemiBold" />
  98. <Setter Property="FontFamily" Value="楷体" />
  99. <Setter Property="VerticalContentAlignment" Value="Center" />
  100. <Setter Property="Template">
  101. <Setter.Value>
  102. <ControlTemplate TargetType="Button">
  103. <Border
  104. Name="TitleBarBr"
  105. BorderBrush="#00c2f4"
  106. BorderThickness="0"
  107. CornerRadius="0"
  108. Opacity="0.8">
  109. <ContentPresenter
  110. Margin="{TemplateBinding Margin}"
  111. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  112. VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
  113. <Border.Background>
  114. <ImageBrush
  115. ImageSource="/BPASmartClient.CustomResource;component/Image/组合边框1.1.png"
  116. Opacity="0.8"
  117. Stretch="Fill" />
  118. </Border.Background>
  119. </Border>
  120. <ControlTemplate.Triggers>
  121. <Trigger Property="IsMouseOver" Value="true">
  122. <Setter TargetName="TitleBarBr" Property="Opacity" Value="1" />
  123. </Trigger>
  124. </ControlTemplate.Triggers>
  125. </ControlTemplate>
  126. </Setter.Value>
  127. </Setter>
  128. </Style>
  129. <Style x:Key="TitleTextblockStyle" TargetType="TextBlock">
  130. <Setter Property="FontSize" Value="16" />
  131. <Setter Property="HorizontalAlignment" Value="Center" />
  132. <Setter Property="VerticalAlignment" Value="Center" />
  133. <Setter Property="Foreground" Value="{StaticResource tabColor}" />
  134. <Setter Property="FontFamily" Value="楷体" />
  135. <Setter Property="FontWeight" Value="SemiBold" />
  136. </Style>
  137. </UserControl.Resources>
  138. <Grid Margin="10" SizeChanged="TabGrid_SizeChanged">
  139. <Grid.RowDefinitions>
  140. <RowDefinition Height="40" />
  141. <RowDefinition Height="40" />
  142. <RowDefinition />
  143. </Grid.RowDefinitions>
  144. <StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
  145. <Button
  146. Width="150"
  147. Height="40"
  148. Margin="10,0,10,0"
  149. Command="{Binding StartMotionCommand}"
  150. Content="{Binding ButtonContext}"
  151. FontSize="20"
  152. Style="{StaticResource ImageButtonStyle}" />
  153. <Button
  154. Width="150"
  155. Height="40"
  156. Margin="10,0,10,0"
  157. Command="{Binding SaveCommand}"
  158. Content="保存参数"
  159. FontSize="20"
  160. Style="{StaticResource ImageButtonStyle}" />
  161. </StackPanel>
  162. <!--#region 表格标题栏设置-->
  163. <Grid
  164. Name="TabGrid"
  165. Grid.Row="1"
  166. Margin="0,10,0,0"
  167. Background="#ff0C255F">
  168. <Grid.ColumnDefinitions>
  169. <ColumnDefinition Width="0.2*" />
  170. <ColumnDefinition />
  171. <ColumnDefinition Width="0.4*" />
  172. <ColumnDefinition Width="0.3*" />
  173. <ColumnDefinition Width="0.2*" />
  174. <ColumnDefinition Width="0.2*" />
  175. <ColumnDefinition Width="0.2*" />
  176. </Grid.ColumnDefinitions>
  177. <TextBlock
  178. Grid.Column="0"
  179. Style="{StaticResource TitleTextblockStyle}"
  180. Text="ID" />
  181. <Grid Grid.Column="1">
  182. <TextBlock Style="{StaticResource TitleTextblockStyle}" Text="名称" />
  183. <Border
  184. BorderBrush="{StaticResource bordColor}"
  185. BorderThickness="1,0,1,0"
  186. Cursor="SizeWE" />
  187. </Grid>
  188. <TextBlock
  189. Grid.Column="2"
  190. Style="{StaticResource TitleTextblockStyle}"
  191. Text="地址" />
  192. <Grid Grid.Column="3">
  193. <TextBlock Style="{StaticResource TitleTextblockStyle}" Text="数据类型" />
  194. <Border
  195. BorderBrush="{StaticResource bordColor}"
  196. BorderThickness="1,0,1,0"
  197. Cursor="SizeWE" />
  198. </Grid>
  199. <Grid Grid.Column="4">
  200. <TextBlock Style="{StaticResource TitleTextblockStyle}" Text="报警" />
  201. <Border
  202. BorderBrush="{StaticResource bordColor}"
  203. BorderThickness="1,0,1,0"
  204. Cursor="SizeWE" />
  205. </Grid>
  206. <TextBlock
  207. Grid.Column="5"
  208. Style="{StaticResource TitleTextblockStyle}"
  209. Text="报警配置" />
  210. <Grid Grid.Column="6">
  211. <TextBlock Style="{StaticResource TitleTextblockStyle}" Text="{Binding TabName}" />
  212. <Border
  213. BorderBrush="{StaticResource bordColor}"
  214. BorderThickness="1,0,1,0"
  215. Cursor="SizeWE" />
  216. </Grid>
  217. <Border
  218. Grid.ColumnSpan="8"
  219. BorderBrush="{StaticResource bordColor}"
  220. BorderThickness="1,0,1,0" />
  221. </Grid>
  222. <!--#endregion-->
  223. <Grid Grid.Row="2">
  224. <ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">
  225. <ItemsControl ItemsSource="{Binding varialeInfos}">
  226. <ItemsControl.ItemTemplate>
  227. <DataTemplate>
  228. <Grid Name="gr" Height="30">
  229. <Grid.ColumnDefinitions>
  230. <ColumnDefinition Width="0.2*" />
  231. <ColumnDefinition />
  232. <ColumnDefinition Width="0.4*" />
  233. <ColumnDefinition Width="0.3*" />
  234. <ColumnDefinition Width="0.2*" />
  235. <ColumnDefinition Width="0.2*" />
  236. <ColumnDefinition Width="0.2*" />
  237. </Grid.ColumnDefinitions>
  238. <TextBlock
  239. Grid.Column="0"
  240. HorizontalAlignment="Center"
  241. VerticalAlignment="Center"
  242. Background="Transparent"
  243. FontSize="14"
  244. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  245. Text="{Binding ID}" />
  246. <Grid Grid.Column="1" KeyDown="TextBox_KeyDown">
  247. <TextBox
  248. IsEnabled="{Binding DataContext.IsEnable, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  249. Width="{Binding DataContext.NameWidth, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  250. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  251. Style="{StaticResource InputTextboxStyle}"
  252. TabIndex="{Binding ID}"
  253. Text="{Binding VarName}" />
  254. <Border
  255. BorderBrush="{StaticResource bordColor}"
  256. BorderThickness="1,0,1,0"
  257. Cursor="SizeWE" />
  258. </Grid>
  259. <TextBox
  260. Grid.Column="2"
  261. IsEnabled="{Binding DataContext.IsEnable, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  262. KeyDown="TextBox_KeyDown"
  263. Width="{Binding DataContext.AddressWidth, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  264. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  265. Style="{StaticResource InputTextboxStyle}"
  266. TabIndex="{Binding ID}"
  267. Text="{Binding Address}" />
  268. <Grid Grid.Column="3">
  269. <ComboBox
  270. Name="cb"
  271. VerticalAlignment="Center"
  272. BorderBrush="Transparent"
  273. BorderThickness="1"
  274. FontFamily="楷体"
  275. FontSize="20"
  276. IsEnabled="{Binding DataContext.IsEnable,RelativeSource={RelativeSource AncestorType=ItemsControl,Mode=FindAncestor}}"
  277. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  278. IsEditable="False"
  279. ItemsSource="{Binding DataContext.dataType, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  280. SelectedValue="{Binding DataType}"
  281. Style="{StaticResource ComboBoxStyle}"
  282. Text="{Binding DataType}" />
  283. <Border
  284. BorderBrush="{StaticResource bordColor}"
  285. BorderThickness="1,0,1,0"
  286. Cursor="SizeWE" />
  287. </Grid>
  288. <CheckBox
  289. Grid.Column="4"
  290. Margin="0,6"
  291. HorizontalAlignment="Center"
  292. VerticalAlignment="Center"
  293. Background="#009dff"
  294. FontSize="16"
  295. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  296. IsChecked="{Binding IsEnableAlarm}"
  297. IsEnabled="{Binding ElementName=cb, Path=Text, Converter={StaticResource IsEnableConvert}}"
  298. Template="{StaticResource CbTemplate}" />
  299. <!-- Content="{Binding IsEnableAlarm, Converter={StaticResource textDisplayConvert}}" -->
  300. <!--<TextBox
  301. Grid.Column="4"
  302. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  303. Style="{StaticResource InputTextboxStyle}"
  304. Text="{Binding SlowAcceleration}" />-->
  305. <Grid Grid.Column="5">
  306. <Grid>
  307. <ToggleButton
  308. Name="tb"
  309. Width="{Binding RelativeSource={RelativeSource AncestorType=Grid, AncestorLevel=1}, Path=ActualWidth}"
  310. Height="{Binding RelativeSource={RelativeSource AncestorType=Grid, AncestorLevel=1}, Path=ActualHeight}"
  311. Background="Transparent"
  312. BorderThickness="0"
  313. Content="编辑"
  314. FontSize="14"
  315. IsChecked="{Binding IsOpen}"
  316. IsEnabled="{Binding IsEnableAlarm}"
  317. Style="{StaticResource EditToggleButtonStyle}" />
  318. </Grid>
  319. <!-- 当 StaysOpen 设置为 True 时 popup失去焦点的时候不会自动关闭 -->
  320. <Popup
  321. AllowsTransparency="True"
  322. Focusable="False"
  323. IsOpen="{Binding IsOpen}"
  324. Placement="Left"
  325. PlacementTarget="{Binding ElementName=tb}"
  326. StaysOpen="False">
  327. <Border Background="#081424" ClipToBounds="True">
  328. <Grid Margin="0">
  329. <Grid.Background>
  330. <ImageBrush ImageSource="/Resources/Images/边框1.png" />
  331. </Grid.Background>
  332. <Grid.RowDefinitions>
  333. <RowDefinition />
  334. <RowDefinition />
  335. <RowDefinition />
  336. </Grid.RowDefinitions>
  337. <!--#region 离散量报警设置-->
  338. <StackPanel
  339. Grid.Row="0"
  340. Margin="10"
  341. Orientation="Vertical"
  342. Visibility="{Binding DataType, Converter={StaticResource discreteAlarmConvert}}">
  343. <Grid Margin="5">
  344. <pry:TitleTextBlock />
  345. <TextBlock
  346. Margin="10,5,30,5"
  347. Background="Transparent"
  348. FontSize="16"
  349. Foreground="#dd01FFFF"
  350. Text="离散量报警设置" />
  351. </Grid>
  352. <Grid>
  353. <Grid.ColumnDefinitions>
  354. <ColumnDefinition />
  355. <ColumnDefinition />
  356. </Grid.ColumnDefinitions>
  357. <TextBlock
  358. Margin="5"
  359. Style="{StaticResource TextBlockStyle}"
  360. Text="选择触发模式:" />
  361. <ComboBox
  362. Grid.Column="1"
  363. Width="180"
  364. Margin="5"
  365. VerticalAlignment="Center"
  366. BorderBrush="#009dff"
  367. BorderThickness="1"
  368. FontFamily="楷体"
  369. FontSize="20"
  370. Foreground="#009dff"
  371. IsEditable="False"
  372. ItemsSource="{Binding DataContext.PopupDiscreteAlarmType, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  373. SelectedIndex="1"
  374. Style="{StaticResource ComboBoxStyle}"
  375. Text="{Binding DiscreteAlarmInfoSet.TrigAlarm}" />
  376. </Grid>
  377. <Grid>
  378. <Grid.ColumnDefinitions>
  379. <ColumnDefinition />
  380. <ColumnDefinition />
  381. <ColumnDefinition />
  382. </Grid.ColumnDefinitions>
  383. <TextBlock
  384. Grid.Column="0"
  385. Margin="5"
  386. Style="{StaticResource TextBlockStyle}"
  387. Text="输入报警信息:" />
  388. <TextBox
  389. Grid.Column="1"
  390. Grid.ColumnSpan="2"
  391. Style="{StaticResource TextBoxStyle}"
  392. Text="{Binding DiscreteAlarmInfoSet.AlarmInfo}" />
  393. </Grid>
  394. </StackPanel>
  395. <!--#endregion-->
  396. <!--#region 模拟量报警设置-->
  397. <StackPanel
  398. Grid.Row="1"
  399. Margin="10"
  400. Visibility="{Binding DataType, Converter={StaticResource analogAlarmConvert}}">
  401. <Grid Margin="5">
  402. <pry:TitleTextBlock />
  403. <TextBlock
  404. Margin="10,5,30,5"
  405. Background="Transparent"
  406. FontSize="16"
  407. Foreground="#dd01FFFF"
  408. Text="模拟量报警设置" />
  409. </Grid>
  410. <ItemsControl ItemsSource="{Binding AnalogAlarmModels}">
  411. <ItemsControl.ItemTemplate>
  412. <DataTemplate>
  413. <Grid Margin="0,0,0,8">
  414. <Grid.ColumnDefinitions>
  415. <ColumnDefinition />
  416. <ColumnDefinition />
  417. <ColumnDefinition />
  418. </Grid.ColumnDefinitions>
  419. <Grid.RowDefinitions>
  420. <RowDefinition />
  421. <RowDefinition />
  422. </Grid.RowDefinitions>
  423. <Border
  424. Grid.RowSpan="2"
  425. Grid.ColumnSpan="3"
  426. BorderBrush="#55009dff"
  427. BorderThickness="0,0,0,1" />
  428. <CheckBox
  429. Margin="5,5,0,0"
  430. HorizontalAlignment="Left"
  431. VerticalAlignment="Center"
  432. Background="#009dff"
  433. Content="{Binding AlarmTag}"
  434. FontSize="14"
  435. Foreground="#009dff"
  436. IsChecked="{Binding IsEnable}"
  437. Template="{StaticResource CbTemplate}" />
  438. <TextBlock
  439. Grid.Column="1"
  440. Margin="0,5,5,0"
  441. Style="{StaticResource TextBlockStyle}"
  442. Text="请输入报警值:" />
  443. <TextBox
  444. Grid.Column="2"
  445. Width="100"
  446. Margin="0,5,5,0"
  447. IsEnabled="{Binding IsEnable}"
  448. Style="{StaticResource TextBoxStyle}"
  449. Text="{Binding AlarmValue}" />
  450. <TextBlock
  451. Grid.Row="1"
  452. Grid.Column="0"
  453. Margin="5"
  454. Style="{StaticResource TextBlockStyle}"
  455. Text="输入报警信息:" />
  456. <TextBox
  457. Grid.Row="1"
  458. Grid.Column="1"
  459. Grid.ColumnSpan="2"
  460. Width="230"
  461. Height="35"
  462. Margin="5"
  463. IsEnabled="{Binding IsEnable}"
  464. Style="{StaticResource TextBoxStyle}"
  465. Text="{Binding AlarmInfo}" />
  466. </Grid>
  467. </DataTemplate>
  468. </ItemsControl.ItemTemplate>
  469. </ItemsControl>
  470. </StackPanel>
  471. <!--#endregion-->
  472. <!--#region 按钮控制-->
  473. <Grid Grid.Row="2" Margin="10">
  474. <Grid.ColumnDefinitions>
  475. <ColumnDefinition />
  476. <ColumnDefinition />
  477. </Grid.ColumnDefinitions>
  478. <Button
  479. Height="40"
  480. Margin="10,5,10,10"
  481. Command="{Binding CancelCommand}"
  482. Content="取消"
  483. FontFamily="楷体"
  484. FontSize="20"
  485. FontWeight="DemiBold"
  486. Foreground="#009dff"
  487. Style="{StaticResource FGImageButtonStyle}" />
  488. <Button
  489. Grid.Column="1"
  490. Height="40"
  491. Margin="10,5,10,10"
  492. Command="{Binding ConfirmCommand}"
  493. Content="确认"
  494. FontFamily="楷体"
  495. FontSize="20"
  496. FontWeight="DemiBold"
  497. Foreground="#009dff"
  498. Style="{StaticResource FGImageButtonStyle}" />
  499. </Grid>
  500. <!--#endregion-->
  501. </Grid>
  502. </Border>
  503. </Popup>
  504. <Border
  505. BorderBrush="{StaticResource bordColor}"
  506. BorderThickness="1,0,1,0"
  507. Cursor="SizeWE" />
  508. </Grid>
  509. <TextBlock
  510. Grid.Column="6"
  511. HorizontalAlignment="Center"
  512. VerticalAlignment="Center"
  513. Background="Transparent"
  514. FontSize="14"
  515. Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}"
  516. Text="{Binding CurrentValue}"
  517. Visibility="{Binding DataContext.CurrentVisibility, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" />
  518. <Button
  519. Grid.Column="6"
  520. Command="{Binding DataContext.RemoveCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
  521. CommandParameter="{Binding}"
  522. Content="删除"
  523. FontSize="16"
  524. Style="{StaticResource ControlButtonStyle}"
  525. Visibility="{Binding DataContext.RemoveButVisiblity, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" />
  526. <Border
  527. Grid.ColumnSpan="7"
  528. BorderBrush="{StaticResource bordColor}"
  529. BorderThickness="1,0,1,1" />
  530. </Grid>
  531. <DataTemplate.Triggers>
  532. <Trigger Property="IsMouseOver" Value="true">
  533. <Setter TargetName="gr" Property="Background" Value="#112AB2E7" />
  534. </Trigger>
  535. </DataTemplate.Triggers>
  536. </DataTemplate>
  537. </ItemsControl.ItemTemplate>
  538. </ItemsControl>
  539. </ScrollViewer>
  540. </Grid>
  541. </Grid>
  542. </UserControl>