BackUpCompareView.xaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <UserControl x:Class="FurnaceUI.Views.Parameter.BackUpCompareView"
  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:converter1="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
  7. xmlns:systemConfig="clr-namespace:MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;assembly=MECF.Framework.UI.Client"
  8. xmlns:local="clr-namespace:FurnaceUI.Views.Parameter" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:cal="http://www.caliburn.org"
  9. xmlns:usercontrols="clr-namespace:MECF.Framework.UI.Client.ClientBase.UserControls;assembly=MECF.Framework.UI.Client"
  10. mc:Ignorable="d" d:DesignHeight="700" d:DesignWidth="1000"
  11. >
  12. <UserControl.Resources>
  13. <Style TargetType="ScrollBar" BasedOn="{StaticResource ExOnlyVerticalScrollBar}"/>
  14. <converter1:Bool2CollapsedReverseConverter x:Key="Bool2CollapsedReverseConverter"/>
  15. <HierarchicalDataTemplate x:Key="ConfigNodeTemplate" DataType="{x:Type systemConfig:ConfigNode}" ItemsSource="{Binding SubNodes}">
  16. <TextBlock Text="{Binding Display}" VerticalAlignment="Center" FontSize="18" Margin="0,5,0,5">
  17. </TextBlock>
  18. </HierarchicalDataTemplate>
  19. <converter1:BoolToBoolReverseConverter x:Key="BoolToBoolReverseConverter"/>
  20. </UserControl.Resources>
  21. <Grid IsEnabled="{Binding BusyIndicatorVisibility,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource BoolToBoolReverseConverter}}">
  22. <Grid.ColumnDefinitions>
  23. <ColumnDefinition Width="280" ></ColumnDefinition>
  24. <ColumnDefinition Width="948"></ColumnDefinition>
  25. </Grid.ColumnDefinitions>
  26. <TreeView x:Name="PART_TREE" Height="700" ItemsSource="{Binding ConfigNodes}" ItemTemplate="{StaticResource ConfigNodeTemplate}"
  27. VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"
  28. >
  29. <!--Height should add for VirtualizingPanel, otherwise the App will be slow-->
  30. <TreeView.ItemContainerStyle>
  31. <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource ResourceKey={x:Type TreeViewItem}}">
  32. <Setter Property="IsExpanded" Value="{Binding IsExpanded}"></Setter>
  33. </Style>
  34. </TreeView.ItemContainerStyle>
  35. <i:Interaction.Triggers>
  36. <i:EventTrigger EventName="SelectedItemChanged">
  37. <i:InvokeCommandAction Command="{Binding TreeViewSelectedItemChangedCmd}" CommandParameter="{Binding Path=SelectedItem, ElementName=PART_TREE}"/>
  38. </i:EventTrigger>
  39. </i:Interaction.Triggers>
  40. </TreeView>
  41. <Grid Grid.Column="1">
  42. <Grid.RowDefinitions>
  43. <RowDefinition Height="45"></RowDefinition>
  44. <RowDefinition></RowDefinition>
  45. </Grid.RowDefinitions>
  46. <Border>
  47. <Grid>
  48. <Grid.ColumnDefinitions>
  49. <ColumnDefinition ></ColumnDefinition>
  50. <ColumnDefinition ></ColumnDefinition>
  51. <ColumnDefinition ></ColumnDefinition>
  52. </Grid.ColumnDefinitions>
  53. <StackPanel Orientation="Horizontal" Margin="3,0,0,0">
  54. <Button Content="Show All Item" Visibility="{Binding IsShowAll,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource Bool2CollapsedReverseConverter}}" Foreground="{DynamicResource FG_Black}" FontSize="16" Height="40" Width="150" FontFamily="Arial" >
  55. <i:Interaction.Triggers>
  56. <i:EventTrigger EventName="Click">
  57. <cal:ActionMessage MethodName="IsShowAllItemClick">
  58. <cal:Parameter Value="true"/>
  59. </cal:ActionMessage>
  60. </i:EventTrigger>
  61. </i:Interaction.Triggers>
  62. </Button>
  63. <Button Content="Only the display is different" Visibility="{Binding IsShowAll,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter }}" Foreground="{DynamicResource FG_Black}" FontSize="16" Height="40" Width="auto" FontFamily="Arial" >
  64. <i:Interaction.Triggers>
  65. <i:EventTrigger EventName="Click">
  66. <cal:ActionMessage MethodName="IsShowAllItemClick">
  67. <cal:Parameter Value="false"/>
  68. </cal:ActionMessage>
  69. </i:EventTrigger>
  70. </i:Interaction.Triggers>
  71. </Button>
  72. </StackPanel>
  73. <StackPanel Grid.Column="1" Orientation="Horizontal">
  74. <Border
  75. Grid.Column="1"
  76. Margin="18,0,0,0"
  77. Padding="5,1,0,1"
  78. Background="{DynamicResource Table_BG_Title}"
  79. BorderBrush="{DynamicResource Table_BD}"
  80. BorderThickness="1,1,1,1">
  81. <TextBlock
  82. VerticalAlignment="Center"
  83. FontSize="13"
  84. Foreground="{DynamicResource FG_Black}"
  85. Text="Time:"
  86. TextWrapping="Wrap"/>
  87. </Border>
  88. <Border
  89. Grid.Column="2"
  90. Margin="0,0,4,0"
  91. Padding="5,1"
  92. Background="{DynamicResource Table_BG_Content}"
  93. BorderBrush="{DynamicResource Table_BD}"
  94. BorderThickness="0,1,1,1">
  95. <TextBlock
  96. HorizontalAlignment="Left"
  97. VerticalAlignment="Center"
  98. FontSize="13"
  99. Foreground="{DynamicResource FG_Black}"
  100. Text="{Binding SelectItemNames[1]}"
  101. TextWrapping="Wrap"
  102. ToolTip="{Binding SelectItemNames[1]}"/>
  103. </Border>
  104. </StackPanel>
  105. <StackPanel Grid.Column="2" Orientation="Horizontal">
  106. <Border
  107. Grid.Column="1"
  108. Margin="18,0,0,0"
  109. Padding="5,1,0,1"
  110. Background="{DynamicResource Table_BG_Title}"
  111. BorderBrush="{DynamicResource Table_BD}"
  112. BorderThickness="1,1,1,1">
  113. <TextBlock
  114. VerticalAlignment="Center"
  115. FontSize="13"
  116. Foreground="{DynamicResource FG_Black}"
  117. Text="Time:"
  118. TextWrapping="Wrap"/>
  119. </Border>
  120. <Border
  121. Grid.Column="2"
  122. Margin="0,0,4,0"
  123. Padding="5,1"
  124. Background="{DynamicResource Table_BG_Content}"
  125. BorderBrush="{DynamicResource Table_BD}"
  126. BorderThickness="0,1,1,1">
  127. <TextBlock
  128. HorizontalAlignment="Left"
  129. VerticalAlignment="Center"
  130. FontSize="13"
  131. Foreground="{DynamicResource FG_Black}"
  132. Text="{Binding SelectItemNames[0]}"
  133. TextWrapping="Wrap"
  134. ToolTip="{Binding SelectItemNames[0]}"/>
  135. </Border>
  136. </StackPanel>
  137. </Grid>
  138. </Border>
  139. <DataGrid
  140. Height="600" Margin="3,0,25,0" Grid.Row="1" Visibility="{Binding GridHistoryVisibility}" Name="dataGrid" ItemsSource="{Binding HistoryTableDatas,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
  141. ScrollViewer.CanContentScroll="True"
  142. ScrollViewer.VerticalScrollBarVisibility="Auto"
  143. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  144. VirtualizingStackPanel.ScrollUnit="Pixel"
  145. AutoGenerateColumns="False" SelectionMode="Single"
  146. SelectionUnit="FullRow"
  147. CanUserReorderColumns="False" CanUserAddRows="False"
  148. CanUserSortColumns="False"
  149. IsReadOnly="True" FontSize="19" >
  150. <DataGrid.Columns>
  151. <DataGridTemplateColumn Width="390" IsReadOnly="True">
  152. <DataGridTemplateColumn.Header>
  153. <TextBlock Text="Item Name" FontWeight="Bold" HorizontalAlignment="Center"/>
  154. </DataGridTemplateColumn.Header>
  155. <DataGridTemplateColumn.CellTemplate>
  156. <DataTemplate>
  157. <Label Height="45" HorizontalAlignment="Left" VerticalAlignment="Top">
  158. <TextBlock Text="{Binding Name}" TextWrapping="Wrap" VerticalAlignment="Center" Margin="5,0,5,0"/>
  159. </Label>
  160. </DataTemplate>
  161. </DataGridTemplateColumn.CellTemplate>
  162. </DataGridTemplateColumn>
  163. <DataGridTemplateColumn Width="240" IsReadOnly="True">
  164. <DataGridTemplateColumn.Header>
  165. <TextBlock Text="Item Value" FontWeight="Bold" HorizontalAlignment="Center"/>
  166. </DataGridTemplateColumn.Header>
  167. <DataGridTemplateColumn.CellTemplate>
  168. <DataTemplate>
  169. <Label Height="45" Width="auto" Content="{Binding ValueStr}" VerticalContentAlignment="Center" />
  170. </DataTemplate>
  171. </DataGridTemplateColumn.CellTemplate>
  172. </DataGridTemplateColumn>
  173. <DataGridTemplateColumn Width="240" IsReadOnly="True">
  174. <DataGridTemplateColumn.Header>
  175. <TextBlock Text="Item Value" FontWeight="Bold" HorizontalAlignment="Center"/>
  176. </DataGridTemplateColumn.Header>
  177. <DataGridTemplateColumn.CellTemplate>
  178. <DataTemplate>
  179. <Label Height="45" Width="auto" Content="{Binding CompareValueStr}" VerticalContentAlignment="Center" />
  180. </DataTemplate>
  181. </DataGridTemplateColumn.CellTemplate>
  182. </DataGridTemplateColumn>
  183. </DataGrid.Columns>
  184. <DataGrid.RowStyle>
  185. <Style TargetType="DataGridRow">
  186. <Style.Triggers>
  187. <DataTrigger Binding="{Binding IsDifference}" Value="true">
  188. <Setter Property="Background" Value="Yellow"/>
  189. </DataTrigger>
  190. <DataTrigger Binding="{Binding IsHidden}" Value="True">
  191. <Setter Property="Visibility" Value="Collapsed"/>
  192. </DataTrigger>
  193. </Style.Triggers>
  194. </Style>
  195. </DataGrid.RowStyle>
  196. </DataGrid>
  197. </Grid>
  198. <usercontrols:BusyIndicator
  199. Grid.ColumnSpan="2"
  200. Grid.RowSpan="2"
  201. Panel.ZIndex="13"
  202. HorizontalContentAlignment="Center"
  203. Width="Auto"
  204. Height="Auto"
  205. Padding="20,10"
  206. HorizontalAlignment="Center"
  207. VerticalContentAlignment="Center"
  208. VerticalAlignment="Center"
  209. Background="{StaticResource Tab_BG}"
  210. BorderBrush="Gray"
  211. BorderThickness="3"
  212. Message="{Binding BusyIndicatorContent}"
  213. Visibility="{Binding BusyIndicatorVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}">
  214. </usercontrols:BusyIndicator>
  215. </Grid>
  216. </UserControl>