SystemConfigView.xaml 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706
  1. <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig.SystemConfigView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  7. xmlns:systemConfig="clr-namespace:MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig"
  8. xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls"
  9. xmlns:micro="clr-namespace:Caliburn.Micro"
  10. xmlns:converter="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Converter"
  11. mc:Ignorable="d"
  12. d:DesignHeight="1024" d:DesignWidth="1900">
  13. <UserControl.Resources>
  14. <converter:Null2Bool x:Key="Null2Bool"/>
  15. <converter:Bool2Not x:Key="Bool2Not"/>
  16. <converter:Float2String x:Key="Float2String"/>
  17. <converter:String2Double x:Key="String2Double"/>
  18. <converter:BoolCollapsedConverter x:Key="BoolVisibility"/>
  19. <HierarchicalDataTemplate x:Key="ConfigNodeTemplate" DataType="{x:Type systemConfig:ConfigNode}" ItemsSource="{Binding SubNodes}">
  20. <TextBlock Text="{Binding Display}" VerticalAlignment="Center" FontSize="18" Margin="0,5,0,5">
  21. </TextBlock>
  22. </HierarchicalDataTemplate>
  23. <systemConfig:ConfigValueTemplateSelector x:Key="ConfigValueTemplateSelector">
  24. <systemConfig:ConfigValueTemplateSelector.BoolTemplate>
  25. <DataTemplate>
  26. <StackPanel Orientation="Horizontal" Margin="10,0">
  27. <RadioButton Content="Yes" VerticalAlignment="Center" IsChecked="{Binding BoolValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  28. <RadioButton Content="No" VerticalAlignment="Center" Margin="10,0,0,0" IsChecked="{Binding BoolValue, Mode=TwoWay, Converter={StaticResource Bool2Not}, UpdateSourceTrigger=PropertyChanged}"/>
  29. </StackPanel>
  30. </DataTemplate>
  31. </systemConfig:ConfigValueTemplateSelector.BoolTemplate>
  32. <systemConfig:ConfigValueTemplateSelector.StringTemplate>
  33. <DataTemplate>
  34. <Grid Width="120">
  35. <controls:TextBoxEx Width="120" HorizontalAlignment="Stretch" Text="{Binding StringValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextSaved="{Binding TextSaved, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
  36. </Grid>
  37. </DataTemplate>
  38. </systemConfig:ConfigValueTemplateSelector.StringTemplate>
  39. <systemConfig:ConfigValueTemplateSelector.NumbericTemplate>
  40. <DataTemplate>
  41. <Grid Width="120">
  42. <TextBox Width="120" HorizontalAlignment="Stretch" Text="{Binding CurValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
  43. <TextBox.Style>
  44. <Style TargetType="TextBox" >
  45. <Setter Property="ToolTip" Value="{x:Null}"/>
  46. <Style.Triggers>
  47. <DataTrigger Binding="{Binding RangeFrom, Converter={StaticResource Null2Bool}}" Value="False">
  48. <Setter Property="ToolTip">
  49. <Setter.Value>
  50. <TextBlock>
  51. <Run Text="Range: "/>
  52. <Run Text="{Binding Max}"/>
  53. <Run Text="~"/>
  54. <Run Text="{Binding Min}"/>
  55. <Run Text="{Binding Double}"/>
  56. </TextBlock>
  57. </Setter.Value>
  58. </Setter>
  59. <!--<Setter Property="MinValue" Value="{Binding RangeFrom, Converter={StaticResource String2Double}}"/>
  60. <Setter Property="MaxValue" Value="{Binding RangeTo, Converter={StaticResource String2Double}}"/>-->
  61. </DataTrigger>
  62. <!--<DataTrigger Binding="{Binding Type}" Value="Int">
  63. <Setter Property="EditBoxMode" Value="SignInteger"/>
  64. </DataTrigger>
  65. <DataTrigger Binding="{Binding Type}" Value="Float">
  66. <Setter Property="EditBoxMode" Value="Decimal"/>
  67. </DataTrigger>-->
  68. </Style.Triggers>
  69. </Style>
  70. </TextBox.Style>
  71. </TextBox>
  72. </Grid>
  73. </DataTemplate>
  74. </systemConfig:ConfigValueTemplateSelector.NumbericTemplate>
  75. <systemConfig:ConfigValueTemplateSelector.SelectionTemplate>
  76. <DataTemplate>
  77. <Grid Width="120">
  78. <ComboBox ItemsSource="{Binding Options}" SelectedValue="{Binding StringValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="120" HorizontalAlignment="Center">
  79. <ComboBox.ItemTemplate>
  80. <DataTemplate>
  81. <TextBlock Text="{Binding}" VerticalAlignment="Center"/>
  82. </DataTemplate>
  83. </ComboBox.ItemTemplate>
  84. </ComboBox>
  85. </Grid>
  86. </DataTemplate>
  87. </systemConfig:ConfigValueTemplateSelector.SelectionTemplate>
  88. </systemConfig:ConfigValueTemplateSelector>
  89. <Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}">
  90. <Setter Property="Background" Value="{x:Null}" />
  91. <Setter Property="BorderBrush" Value="{x:Null}" />
  92. <Style.Triggers>
  93. <Trigger Property="IsSelected" Value="True">
  94. <Setter Property="Background" Value="{x:Null}" />
  95. <Setter Property="BorderBrush" Value="{x:Null}" />
  96. </Trigger>
  97. </Style.Triggers>
  98. </Style>
  99. <Style TargetType="{x:Type DataGridRow}">
  100. <Setter Property="Background" Value="{x:Null}" />
  101. <Setter Property="BorderBrush" Value="{x:Null}" />
  102. <Style.Triggers>
  103. <Trigger Property="IsSelected" Value="True">
  104. <Setter Property="Background" Value="{x:Null}" />
  105. <Setter Property="BorderBrush" Value="{x:Null}" />
  106. </Trigger>
  107. </Style.Triggers>
  108. </Style>
  109. </UserControl.Resources>
  110. <Grid>
  111. <Grid.ColumnDefinitions>
  112. <ColumnDefinition Width="320"/>
  113. <ColumnDefinition Width="*"/>
  114. </Grid.ColumnDefinitions>
  115. <Grid.RowDefinitions>
  116. <RowDefinition Height="*"/>
  117. </Grid.RowDefinitions>
  118. <Grid>
  119. <Grid.RowDefinitions>
  120. <RowDefinition Height="30"></RowDefinition>
  121. <RowDefinition Height="30"></RowDefinition>
  122. <RowDefinition Height="*"></RowDefinition>
  123. </Grid.RowDefinitions>
  124. <StackPanel Orientation="Horizontal">
  125. <Button Content="-- Collapse All" Width="120" Height="25" Click="BtnCollapseAll">
  126. <!--<i:Interaction.Triggers>
  127. <i:EventTrigger EventName="Click">
  128. <micro:ActionMessage MethodName="CollapseAll">
  129. </micro:ActionMessage>
  130. </i:EventTrigger>
  131. </i:Interaction.Triggers>-->
  132. </Button>
  133. <Button Content="++ Expand All" Width="120" Height="25" Margin="5,0,0,0" Click="BtnExpandAll">
  134. <!--<i:Interaction.Triggers>
  135. <i:EventTrigger EventName="Click">
  136. <micro:ActionMessage MethodName="ExpandAll">
  137. </micro:ActionMessage>
  138. </i:EventTrigger>
  139. </i:Interaction.Triggers>-->
  140. </Button>
  141. </StackPanel>
  142. <Grid Grid.Row="1">
  143. <Grid.ColumnDefinitions>
  144. <ColumnDefinition Width="*"/>
  145. <ColumnDefinition Width="40"/>
  146. </Grid.ColumnDefinitions>
  147. <controls:TextBoxEx AllowBackgroundChange="False" Text="{Binding Path=CurrentCriteria, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" ></controls:TextBoxEx>
  148. <Button Grid.Column="1" Width="30" Height="30" Margin="0" Padding="0" >
  149. <Button.Content>
  150. <Path Data="M5.5,0 L8.5,0 8.5,5.5 14,5.5 14,8.5 8.5,8.5 8.5,14 5.5,14 5.5,8.5 0,8.5 0,5.5 5.5,5.5 z" Fill="Black" Margin="0,3" RenderTransformOrigin="0.5,0.5" Stretch="Fill" StrokeThickness="3" Width="15" Height="15" >
  151. <Path.RenderTransform>
  152. <TransformGroup>
  153. <ScaleTransform/>
  154. <SkewTransform/>
  155. <RotateTransform Angle="45"/>
  156. <TranslateTransform/>
  157. </TransformGroup>
  158. </Path.RenderTransform>
  159. </Path>
  160. </Button.Content>
  161. <i:Interaction.Triggers>
  162. <i:EventTrigger EventName="Click">
  163. <micro:ActionMessage MethodName="ClearFilter">
  164. </micro:ActionMessage>
  165. </i:EventTrigger>
  166. </i:Interaction.Triggers>
  167. </Button>
  168. </Grid>
  169. <Border Grid.Row="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  170. <TreeView x:Name="PART_TREE" Margin="5" ItemsSource="{Binding ConfigNodes}" ItemTemplate="{StaticResource ConfigNodeTemplate}"
  171. VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"
  172. Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
  173. <!--Height should add for VirtualizingPanel, otherwise the App will be slow-->
  174. <TreeView.ItemContainerStyle>
  175. <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource ResourceKey={x:Type TreeViewItem}}">
  176. <Setter Property="IsExpanded" Value="{Binding IsExpanded}"></Setter>
  177. <Setter Property="Visibility" Value="{Binding Path=IsMatch, Mode=OneWay, Converter={StaticResource ResourceKey=BoolVisibility}}"></Setter>
  178. </Style>
  179. </TreeView.ItemContainerStyle>
  180. <i:Interaction.Triggers>
  181. <i:EventTrigger EventName="SelectedItemChanged">
  182. <i:InvokeCommandAction Command="{Binding TreeViewSelectedItemChangedCmd}" CommandParameter="{Binding Path=SelectedItem, ElementName=PART_TREE}"/>
  183. </i:EventTrigger>
  184. </i:Interaction.Triggers>
  185. </TreeView>
  186. </Border>
  187. </Grid>
  188. <GridSplitter Width="5" Grid.Column="1" HorizontalAlignment="Left" Background="Transparent">
  189. </GridSplitter>
  190. <Grid Grid.Column="1" Margin="10,0,0,0" IsEnabled="{Binding IsPermission}">
  191. <Grid.RowDefinitions>
  192. <RowDefinition Height="30"/>
  193. <RowDefinition/>
  194. <RowDefinition Height="0"/>
  195. </Grid.RowDefinitions>
  196. <StackPanel Orientation="Horizontal">
  197. <!--<Button Content="Reload" Width="80" Height="25">
  198. <i:Interaction.Triggers>
  199. <i:EventTrigger EventName="Click">
  200. <micro:ActionMessage MethodName="Reload">
  201. </micro:ActionMessage>
  202. </i:EventTrigger>
  203. </i:Interaction.Triggers>
  204. </Button>-->
  205. <!--<Button Content="Save All" Width="80" Height="25" Margin="5,0,0,0">
  206. <i:Interaction.Triggers>
  207. <i:EventTrigger EventName="Click">
  208. <micro:ActionMessage MethodName="SaveAll">
  209. </micro:ActionMessage>
  210. </i:EventTrigger>
  211. </i:Interaction.Triggers>
  212. </Button>-->
  213. <!--<Button Content="Save" Margin="5,0,0,0" Width="80" Height="25">
  214. <i:Interaction.Triggers>
  215. <i:EventTrigger EventName="Click">
  216. <micro:ActionMessage MethodName="SaveParameter">
  217. </micro:ActionMessage>
  218. </i:EventTrigger>
  219. </i:Interaction.Triggers>
  220. </Button>-->
  221. <!--<Button Grid.Row="1" Content="Cancel" Margin="5,0,0,0" Width="80" Height="25">
  222. <i:Interaction.Triggers>
  223. <i:EventTrigger EventName="Click">
  224. <micro:ActionMessage MethodName="Cancel">
  225. </micro:ActionMessage>
  226. </i:EventTrigger>
  227. </i:Interaction.Triggers>
  228. </Button>-->
  229. </StackPanel>
  230. <ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Visibility="{Binding IsShowData}">
  231. <ListView Name="ShowData">
  232. <ListView.ItemsPanel>
  233. <ItemsPanelTemplate>
  234. <UniformGrid Columns="3" Rows="10"></UniformGrid>
  235. </ItemsPanelTemplate>
  236. </ListView.ItemsPanel>
  237. <ListView.View>
  238. <GridView>
  239. <GridViewColumn >
  240. <GridViewColumn.CellTemplate>
  241. <DataTemplate>
  242. <StackPanel Orientation="Vertical">
  243. <TextBlock Text="{Binding CurrentValue}" TextAlignment="Center"></TextBlock>
  244. <Button Content="{Binding Description}" Width="180" ToolTip="{Binding Description}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center">
  245. <i:Interaction.Triggers>
  246. <i:EventTrigger EventName="Click">
  247. <micro:ActionMessage MethodName="SetValue">
  248. <micro:Parameter Value="{Binding }"/>
  249. </micro:ActionMessage>
  250. </i:EventTrigger>
  251. </i:Interaction.Triggers>
  252. </Button>
  253. </StackPanel>
  254. </DataTemplate>
  255. </GridViewColumn.CellTemplate>
  256. </GridViewColumn>
  257. </GridView>
  258. </ListView.View>
  259. </ListView>
  260. </ScrollViewer>
  261. <Grid Grid.Row="1" Margin="0,30,0,0" Visibility="{Binding IsShowTable}">
  262. <Grid.RowDefinitions>
  263. <RowDefinition Height="35"></RowDefinition>
  264. <RowDefinition Height="35"></RowDefinition>
  265. <RowDefinition Height="35"></RowDefinition>
  266. <RowDefinition Height="35"></RowDefinition>
  267. <RowDefinition Height="35"></RowDefinition>
  268. <RowDefinition Height="35"></RowDefinition>
  269. <RowDefinition Height="35"></RowDefinition>
  270. <RowDefinition Height="35"></RowDefinition>
  271. <RowDefinition Height="35"></RowDefinition>
  272. <RowDefinition Height="35"></RowDefinition>
  273. <RowDefinition Height="35"></RowDefinition>
  274. <RowDefinition Height="35"></RowDefinition>
  275. <RowDefinition Height="35"></RowDefinition>
  276. </Grid.RowDefinitions>
  277. <Grid.ColumnDefinitions>
  278. <ColumnDefinition Width="220"></ColumnDefinition>
  279. <ColumnDefinition Width="110"></ColumnDefinition>
  280. <ColumnDefinition Width="120"></ColumnDefinition>
  281. <ColumnDefinition Width="140"></ColumnDefinition>
  282. </Grid.ColumnDefinitions>
  283. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" Grid.Column="0">
  284. <TextBlock Text="Name" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  285. </Border>
  286. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="1">
  287. <TextBlock Text="Unit" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  288. </Border>
  289. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="2">
  290. <TextBlock Text="SetValue" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  291. </Border>
  292. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="3">
  293. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  294. </Border>
  295. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="4">
  296. <TextBlock Text="Alarm" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  297. </Border>-->
  298. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="1" Grid.Column="0">
  299. <TextBlock Text="{Binding ConfigItems[0].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  300. </Border>
  301. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="1">
  302. <TextBlock Text="{Binding ConfigItems[0].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  303. </Border>
  304. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="2">
  305. <TextBlock Text="{Binding ConfigItems[0].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  306. </Border>
  307. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="3">
  308. <!--<TextBlock Text="{Binding SDUseWarningLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  309. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  310. <i:Interaction.Triggers>
  311. <i:EventTrigger EventName="Click">
  312. <micro:ActionMessage MethodName="SetValue">
  313. <micro:Parameter Value="{Binding ConfigItems[0]}"/>
  314. </micro:ActionMessage>
  315. </i:EventTrigger>
  316. </i:Interaction.Triggers>
  317. </Button>
  318. </Border>
  319. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="4">
  320. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  321. </Border>-->
  322. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="2" Grid.Column="0">
  323. <TextBlock Text="{Binding ConfigItems[1].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  324. </Border>
  325. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="1">
  326. <TextBlock Text="{Binding ConfigItems[1].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  327. </Border>
  328. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="2">
  329. <TextBlock Text="{Binding ConfigItems[1].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  330. </Border>
  331. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="3">
  332. <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  333. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  334. <i:Interaction.Triggers>
  335. <i:EventTrigger EventName="Click">
  336. <micro:ActionMessage MethodName="SetValue">
  337. <micro:Parameter Value="{Binding ConfigItems[1]}"/>
  338. </micro:ActionMessage>
  339. </i:EventTrigger>
  340. </i:Interaction.Triggers>
  341. </Button>
  342. </Border>
  343. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="4">
  344. <TextBlock Text="{Binding SDUseAlarmLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  345. </Border>-->
  346. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="3" Grid.Column="0">
  347. <TextBlock Text="{Binding ConfigItems[2].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  348. </Border>
  349. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="1">
  350. <TextBlock Text="{Binding ConfigItems[2].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  351. </Border>
  352. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="2">
  353. <TextBlock Text="{Binding ConfigItems[2].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  354. </Border>
  355. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="3">
  356. <!--<TextBlock Text="{Binding SDUseWarningTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  357. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  358. <i:Interaction.Triggers>
  359. <i:EventTrigger EventName="Click">
  360. <micro:ActionMessage MethodName="SetValue">
  361. <micro:Parameter Value="{Binding ConfigItems[2]}"/>
  362. </micro:ActionMessage>
  363. </i:EventTrigger>
  364. </i:Interaction.Triggers>
  365. </Button>
  366. </Border>
  367. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="4">
  368. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  369. </Border>-->
  370. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="4" Grid.Column="0">
  371. <TextBlock Text="{Binding ConfigItems[3].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  372. </Border>
  373. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="1">
  374. <TextBlock Text="{Binding ConfigItems[3].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  375. </Border>
  376. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="2">
  377. <TextBlock Text="{Binding ConfigItems[3].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  378. </Border>
  379. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="3">
  380. <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  381. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  382. <i:Interaction.Triggers>
  383. <i:EventTrigger EventName="Click">
  384. <micro:ActionMessage MethodName="SetValue">
  385. <micro:Parameter Value="{Binding ConfigItems[3]}"/>
  386. </micro:ActionMessage>
  387. </i:EventTrigger>
  388. </i:Interaction.Triggers>
  389. </Button>
  390. </Border>
  391. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="4">
  392. <TextBlock Text="{Binding SDUseAlarmTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  393. </Border>-->
  394. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="5" Grid.Column="0">
  395. <TextBlock Text="{Binding ConfigItems[4].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  396. </Border>
  397. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="1">
  398. <TextBlock Text="{Binding ConfigItems[4].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  399. </Border>
  400. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="2">
  401. <TextBlock Text="{Binding ConfigItems[4].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  402. </Border>
  403. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="3">
  404. <!--<TextBlock Text="{Binding SDUseWarningThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  405. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  406. <i:Interaction.Triggers>
  407. <i:EventTrigger EventName="Click">
  408. <micro:ActionMessage MethodName="SetValue">
  409. <micro:Parameter Value="{Binding ConfigItems[4]}"/>
  410. </micro:ActionMessage>
  411. </i:EventTrigger>
  412. </i:Interaction.Triggers>
  413. </Button>
  414. </Border>
  415. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="4">
  416. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  417. </Border>-->
  418. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="6" Grid.Column="0">
  419. <TextBlock Text="{Binding ConfigItems[5].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  420. </Border>
  421. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="1">
  422. <TextBlock Text="{Binding ConfigItems[5].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  423. </Border>
  424. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="2">
  425. <TextBlock Text="{Binding ConfigItems[5].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  426. </Border>
  427. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="3">
  428. <!--<TextBlock Text="{Binding ConfigItems[5].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  429. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  430. <i:Interaction.Triggers>
  431. <i:EventTrigger EventName="Click">
  432. <micro:ActionMessage MethodName="SetValue">
  433. <micro:Parameter Value="{Binding ConfigItems[5]}"/>
  434. </micro:ActionMessage>
  435. </i:EventTrigger>
  436. </i:Interaction.Triggers>
  437. </Button>
  438. </Border>
  439. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="4">
  440. <TextBlock Text="{Binding SDUseAlarmThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  441. </Border>-->
  442. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="7" Grid.Column="0">
  443. <TextBlock Text="{Binding ConfigItems[6].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  444. </Border>
  445. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="1">
  446. <TextBlock Text="{Binding ConfigItems[6].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  447. </Border>
  448. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="2">
  449. <TextBlock Text="{Binding ConfigItems[6].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  450. </Border>
  451. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="3">
  452. <!--<TextBlock Text="{Binding EDUseWarningLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  453. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  454. <i:Interaction.Triggers>
  455. <i:EventTrigger EventName="Click">
  456. <micro:ActionMessage MethodName="SetValue">
  457. <micro:Parameter Value="{Binding ConfigItems[6]}"/>
  458. </micro:ActionMessage>
  459. </i:EventTrigger>
  460. </i:Interaction.Triggers>
  461. </Button>
  462. </Border>
  463. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="4">
  464. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  465. </Border>-->
  466. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="8" Grid.Column="0">
  467. <TextBlock Text="{Binding ConfigItems[7].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  468. </Border>
  469. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="1">
  470. <TextBlock Text="{Binding ConfigItems[7].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  471. </Border>
  472. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="2">
  473. <TextBlock Text="{Binding ConfigItems[7].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  474. </Border>
  475. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="3">
  476. <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  477. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  478. <i:Interaction.Triggers>
  479. <i:EventTrigger EventName="Click">
  480. <micro:ActionMessage MethodName="SetValue">
  481. <micro:Parameter Value="{Binding ConfigItems[7]}"/>
  482. </micro:ActionMessage>
  483. </i:EventTrigger>
  484. </i:Interaction.Triggers>
  485. </Button>
  486. </Border>
  487. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="4">
  488. <TextBlock Text="{Binding EDUseAlarmLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  489. </Border>-->
  490. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="9" Grid.Column="0">
  491. <TextBlock Text="{Binding ConfigItems[8].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  492. </Border>
  493. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="1">
  494. <TextBlock Text="{Binding ConfigItems[8].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  495. </Border>
  496. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="2">
  497. <TextBlock Text="{Binding ConfigItems[8].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  498. </Border>
  499. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="3">
  500. <!--<TextBlock Text="{Binding EDUseWarningTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  501. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  502. <i:Interaction.Triggers>
  503. <i:EventTrigger EventName="Click">
  504. <micro:ActionMessage MethodName="SetValue">
  505. <micro:Parameter Value="{Binding ConfigItems[8]}"/>
  506. </micro:ActionMessage>
  507. </i:EventTrigger>
  508. </i:Interaction.Triggers>
  509. </Button>
  510. </Border>
  511. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="4">
  512. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  513. </Border>-->
  514. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="10" Grid.Column="0">
  515. <TextBlock Text="{Binding ConfigItems[9].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  516. </Border>
  517. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="1">
  518. <TextBlock Text="{Binding ConfigItems[9].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  519. </Border>
  520. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="2">
  521. <TextBlock Text="{Binding ConfigItems[9].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  522. </Border>
  523. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="3">
  524. <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  525. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  526. <i:Interaction.Triggers>
  527. <i:EventTrigger EventName="Click">
  528. <micro:ActionMessage MethodName="SetValue">
  529. <micro:Parameter Value="{Binding ConfigItems[9]}"/>
  530. </micro:ActionMessage>
  531. </i:EventTrigger>
  532. </i:Interaction.Triggers>
  533. </Button>
  534. </Border>
  535. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="4">
  536. <TextBlock Text="{Binding EDUseAlarmTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  537. </Border>-->
  538. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="11" Grid.Column="0">
  539. <TextBlock Text="{Binding ConfigItems[10].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  540. </Border>
  541. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="1">
  542. <TextBlock Text="{Binding ConfigItems[10].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  543. </Border>
  544. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="2">
  545. <TextBlock Text="{Binding ConfigItems[10].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  546. </Border>
  547. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="3">
  548. <!--<TextBlock Text="{Binding EDUseWarningThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  549. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  550. <i:Interaction.Triggers>
  551. <i:EventTrigger EventName="Click">
  552. <micro:ActionMessage MethodName="SetValue">
  553. <micro:Parameter Value="{Binding ConfigItems[10]}"/>
  554. </micro:ActionMessage>
  555. </i:EventTrigger>
  556. </i:Interaction.Triggers>
  557. </Button>
  558. </Border>
  559. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="4">
  560. <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  561. </Border>-->
  562. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Grid.Row="12" Grid.Column="0">
  563. <TextBlock Text="{Binding ConfigItems[11].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  564. </Border>
  565. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="1">
  566. <TextBlock Text="{Binding ConfigItems[11].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  567. </Border>
  568. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="2">
  569. <TextBlock Text="{Binding ConfigItems[11].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
  570. </Border>
  571. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="3">
  572. <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
  573. <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
  574. <i:Interaction.Triggers>
  575. <i:EventTrigger EventName="Click">
  576. <micro:ActionMessage MethodName="SetValue">
  577. <micro:Parameter Value="{Binding ConfigItems[11]}"/>
  578. </micro:ActionMessage>
  579. </i:EventTrigger>
  580. </i:Interaction.Triggers>
  581. </Button>
  582. </Border>
  583. <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="4">
  584. <TextBlock Text="{Binding EDUseAlarmThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
  585. </Border>-->
  586. </Grid>
  587. <Grid Grid.Row="1" Visibility="{Binding IsShowAUX}">
  588. <Grid.RowDefinitions>
  589. <RowDefinition/>
  590. <RowDefinition Height="80"/>
  591. </Grid.RowDefinitions>
  592. <DataGrid Margin="10,10,10,0" Name="ShowAUX" VerticalAlignment="Top" ItemsSource="{Binding ConfigAUXItems, UpdateSourceTrigger=PropertyChanged}" Height="700" CanUserAddRows="False" AutoGenerateColumns="False">
  593. <DataGrid.Columns>
  594. <DataGridTemplateColumn Width="40" Header="No">
  595. <DataGridTemplateColumn.CellTemplate>
  596. <DataTemplate>
  597. <Label Height="50" Content="{Binding Unit}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  598. </DataTemplate>
  599. </DataGridTemplateColumn.CellTemplate>
  600. </DataGridTemplateColumn>
  601. <DataGridTemplateColumn Width="200" Header="AUX Name">
  602. <DataGridTemplateColumn.CellTemplate>
  603. <DataTemplate>
  604. <TextBlock Width="200" Text="{Binding Description}" HorizontalAlignment="Center" VerticalAlignment="Center" TextBlock.TextAlignment="Center"/>
  605. </DataTemplate>
  606. </DataGridTemplateColumn.CellTemplate>
  607. </DataGridTemplateColumn>
  608. <DataGridTemplateColumn Width="180" Header="Set">
  609. <DataGridTemplateColumn.CellTemplate>
  610. <DataTemplate>
  611. <StackPanel Orientation="Horizontal">
  612. <controls:TextBoxEx Height="50" Cursor="Hand" EditBoxMode="SignInteger" TextSaved="{Binding CurrentValueParam.IsSaved, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ChangedColor="Yellow" Text="{Binding CurrentValueParam.Value, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" MinValue="{Binding Min}" MaxValue="{Binding Max}" Tag="Number" HorizontalContentAlignment="Right" Margin="4" Width="132" IsEnabled="{Binding IsEnable}">
  613. </controls:TextBoxEx>
  614. </StackPanel>
  615. </DataTemplate>
  616. </DataGridTemplateColumn.CellTemplate>
  617. </DataGridTemplateColumn>
  618. </DataGrid.Columns>
  619. </DataGrid>
  620. <Grid Grid.Row="1">
  621. <Grid.ColumnDefinitions>
  622. <ColumnDefinition/>
  623. <ColumnDefinition/>
  624. <ColumnDefinition/>
  625. <ColumnDefinition/>
  626. <ColumnDefinition/>
  627. </Grid.ColumnDefinitions>
  628. <Button Grid.Column="2" Width="160" Height="80" Content="Save">
  629. <i:Interaction.Triggers>
  630. <i:EventTrigger EventName="Click">
  631. <micro:ActionMessage MethodName="AUXSaveClick">
  632. </micro:ActionMessage>
  633. </i:EventTrigger>
  634. </i:Interaction.Triggers>
  635. </Button>
  636. <Button Grid.Column="3" Width="160" Height="80" Content="Upload">
  637. <i:Interaction.Triggers>
  638. <i:EventTrigger EventName="Click">
  639. <micro:ActionMessage MethodName="AUXUploadClick">
  640. </micro:ActionMessage>
  641. </i:EventTrigger>
  642. </i:Interaction.Triggers>
  643. </Button>
  644. <Button Grid.Column="4" Width="160" Height="80" Content="Download">
  645. <i:Interaction.Triggers>
  646. <i:EventTrigger EventName="Click">
  647. <micro:ActionMessage MethodName="AUXDownloadClick">
  648. </micro:ActionMessage>
  649. </i:EventTrigger>
  650. </i:Interaction.Triggers>
  651. </Button>
  652. </Grid>
  653. </Grid>
  654. <ListBox Grid.Row="1" ItemsSource="{Binding NameList}" Margin="10" Visibility="{Binding IsListData}">
  655. <ListBox.ItemTemplate>
  656. <DataTemplate>
  657. <StackPanel Orientation="Vertical">
  658. <TextBlock Text="{Binding No}" TextAlignment="Center" Height="25"></TextBlock>
  659. <TextBox Text="{Binding Name}" Width="100" Height="30" VerticalContentAlignment="Center" HorizontalContentAlignment="Center">
  660. <i:Interaction.Triggers>
  661. <i:EventTrigger EventName="Click">
  662. <micro:ActionMessage MethodName="SetValue">
  663. <micro:Parameter Value="{Binding }"/>
  664. </micro:ActionMessage>
  665. </i:EventTrigger>
  666. </i:Interaction.Triggers>
  667. </TextBox>
  668. </StackPanel>
  669. </DataTemplate>
  670. </ListBox.ItemTemplate>
  671. <ListBox.ItemsPanel>
  672. <ItemsPanelTemplate>
  673. <UniformGrid Rows="25" Columns="8">
  674. </UniformGrid>
  675. </ItemsPanelTemplate>
  676. </ListBox.ItemsPanel>
  677. </ListBox>
  678. </Grid>
  679. </Grid>
  680. </UserControl>