SequenceView.xaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. <UserControl x:Class="Venus_MainPages.Views.SequenceView"
  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:local="clr-namespace:Venus_MainPages"
  7. mc:Ignorable="d"
  8. xmlns:prism="http://prismlibrary.com/"
  9. prism:ViewModelLocator.AutoWireViewModel="True"
  10. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  11. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  12. xmlns:dgextension="clr-namespace:RecipeEditorLib.DGExtension;assembly=SequenceControl"
  13. xmlns:sequence="clr-namespace:Venus_MainPages.Sequence"
  14. d:DesignHeight="450" d:DesignWidth="800" Name="sequenceView">
  15. <UserControl.Resources>
  16. <DataTemplate x:Key="ParamTemplate">
  17. <Grid Width="250" Margin="0,5">
  18. <Grid.LayoutTransform>
  19. <TransformGroup>
  20. <RotateTransform Angle="-90"/>
  21. <ScaleTransform ScaleX="1" ScaleY="-1" />
  22. </TransformGroup>
  23. </Grid.LayoutTransform>
  24. <TextBlock Text="{Binding DisplayName}" FontFamily="Arial" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5,0"/>
  25. </Grid>
  26. </DataTemplate>
  27. <DataTemplate x:Key="TemplateTextBlock">
  28. <Grid>
  29. <Grid.LayoutTransform>
  30. <TransformGroup>
  31. <RotateTransform Angle="-90"/>
  32. <ScaleTransform ScaleX="1" ScaleY="-1" />
  33. </TransformGroup>
  34. </Grid.LayoutTransform>
  35. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">
  36. <TextBlock Visibility="{Binding Visible}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />
  37. </Border>
  38. </Grid>
  39. </DataTemplate>
  40. <DataTemplate x:Key="TemplateStep">
  41. <Grid>
  42. <Grid.LayoutTransform>
  43. <TransformGroup>
  44. <RotateTransform Angle="-90"/>
  45. <ScaleTransform ScaleX="1" ScaleY="-1" />
  46. </TransformGroup>
  47. </Grid.LayoutTransform>
  48. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Padding="5,1" Width="150" Height="30">
  49. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
  50. <ctrl:CheckBoxExt IsChecked="{Binding Checked}" CheckBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0,4"/>
  51. <TextBlock Visibility="{Binding Visible}" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14"/>
  52. </StackPanel>
  53. </Border>
  54. </Grid>
  55. </DataTemplate>
  56. <DataTemplate x:Key="TemplateText">
  57. <Grid>
  58. <Grid.LayoutTransform>
  59. <TransformGroup>
  60. <RotateTransform Angle="-90"/>
  61. <ScaleTransform ScaleX="1" ScaleY="-1" />
  62. </TransformGroup>
  63. </Grid.LayoutTransform>
  64. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">
  65. <ctrl:TextBoxEx Visibility="{Binding Visible}" IsEnabled="{Binding IsEnabled}" TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />
  66. </Border>
  67. </Grid>
  68. </DataTemplate>
  69. <DataTemplate x:Key="TemplateSignInteger">
  70. <Grid>
  71. <Grid.LayoutTransform>
  72. <TransformGroup>
  73. <RotateTransform Angle="-90"/>
  74. <ScaleTransform ScaleX="1" ScaleY="-1" />
  75. </TransformGroup>
  76. </Grid.LayoutTransform>
  77. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150">
  78. <ctrl:TextBoxEx Visibility="{Binding Visible}" EditBoxMode="SignInteger" TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnabled}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />
  79. </Border>
  80. </Grid>
  81. </DataTemplate>
  82. <DataTemplate x:Key="TemplateRecipeSelection">
  83. <Grid>
  84. <Grid.LayoutTransform>
  85. <TransformGroup>
  86. <RotateTransform Angle="-90"/>
  87. <ScaleTransform ScaleX="1" ScaleY="-1" />
  88. </TransformGroup>
  89. </Grid.LayoutTransform>
  90. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">
  91. <Grid >
  92. <Grid.ColumnDefinitions>
  93. <ColumnDefinition />
  94. <ColumnDefinition Width="Auto"/>
  95. </Grid.ColumnDefinitions>
  96. <ctrl:TextBoxEx Visibility="{Binding Visible}" IsEnabled="{Binding IsEnabled}" TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto"/>
  97. <Button Command="{Binding Path=DataContext.SelectRecipeCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}" CommandParameter="{Binding }" Grid.Column="1" Content="..." Foreground="White" FontSize="20" Visibility="{Binding Visible}" Width="30" Height="20" Margin="5,0,0,0"/>
  98. </Grid>
  99. </Border>
  100. </Grid>
  101. </DataTemplate>
  102. <DataTemplate x:Key="TemplateCombox">
  103. <Grid>
  104. <Grid.LayoutTransform>
  105. <TransformGroup>
  106. <RotateTransform Angle="-90"/>
  107. <ScaleTransform ScaleX="1" ScaleY="-1" />
  108. </TransformGroup>
  109. </Grid.LayoutTransform>
  110. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150">
  111. <ctrl:ComboBoxExt Style="{StaticResource ResourceKey={x:Type ComboBox}}"
  112. Visibility="{Binding Visible}"
  113. ComboBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  114. IsEnabled="{Binding IsEnabled}"
  115. DisplayMemberPath="DisplayName"
  116. SelectedValuePath="ControlName"
  117. SelectedValue="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  118. ItemsSource="{Binding Options}"/>
  119. </Border>
  120. </Grid>
  121. </DataTemplate>
  122. <DataTemplate x:Key="TemplateMultiSelection">
  123. <Grid>
  124. <Grid.LayoutTransform>
  125. <TransformGroup>
  126. <RotateTransform Angle="-90"/>
  127. <ScaleTransform ScaleX="1" ScaleY="-1" />
  128. </TransformGroup>
  129. </Grid.LayoutTransform>
  130. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" MinHeight="30">
  131. <ListBox ItemsSource="{Binding Options}" Visibility="{Binding Visible}">
  132. <ListBox.ItemTemplate>
  133. <DataTemplate>
  134. <StackPanel Orientation="Horizontal" Margin="5,5">
  135. <CheckBox IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}"/>
  136. <TextBlock Text="{Binding DisplayName}"/>
  137. </StackPanel>
  138. </DataTemplate>
  139. </ListBox.ItemTemplate>
  140. <ListBox.ItemsPanel>
  141. <ItemsPanelTemplate>
  142. <WrapPanel Width="139" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  143. </ItemsPanelTemplate>
  144. </ListBox.ItemsPanel>
  145. </ListBox>
  146. </Border>
  147. </Grid>
  148. </DataTemplate>
  149. <DataTemplate x:Key="ParamExpander">
  150. <Grid>
  151. <Grid.ColumnDefinitions>
  152. <ColumnDefinition/>
  153. <ColumnDefinition/>
  154. </Grid.ColumnDefinitions>
  155. <TextBlock Text="{Binding DisplayName}"/>
  156. <Expander Grid.Column="1" HorizontalAlignment="Left"
  157. HorizontalContentAlignment="Left"
  158. VerticalAlignment="Stretch"
  159. IsExpanded="{Binding IsExpanded}"
  160. VerticalContentAlignment="Stretch">
  161. <i:Interaction.Triggers>
  162. <i:EventTrigger EventName="Expanded">
  163. <i:InvokeCommandAction Command="{Binding DataContext.ParamsExpanded}" CommandParameter="{Binding }"/>
  164. </i:EventTrigger>
  165. <i:EventTrigger EventName="Collapsed">
  166. <i:InvokeCommandAction Command="{Binding DataContext.ParamsCollapsed}" CommandParameter="{Binding }"/>
  167. </i:EventTrigger>
  168. </i:Interaction.Triggers>
  169. </Expander>
  170. <Grid.LayoutTransform>
  171. <TransformGroup>
  172. <RotateTransform Angle="-90"/>
  173. <ScaleTransform ScaleX="1" ScaleY="-1" />
  174. </TransformGroup>
  175. </Grid.LayoutTransform>
  176. </Grid>
  177. </DataTemplate>
  178. <DataTemplate x:Key="TemplateExpander">
  179. <TextBlock HorizontalAlignment="Left" FontFamily="Arial" FontSize="14" VerticalAlignment="Center">
  180. <TextBlock.LayoutTransform>
  181. <TransformGroup>
  182. <RotateTransform Angle="-90"/>
  183. <ScaleTransform ScaleX="1" ScaleY="-1" />
  184. </TransformGroup>
  185. </TextBlock.LayoutTransform>
  186. </TextBlock>
  187. </DataTemplate>
  188. <HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">
  189. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  190. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  191. <StackPanel.ContextMenu>
  192. <ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
  193. <MenuItem Header="Create Sequence" Command="{Binding NewSequenceCommand}"></MenuItem>
  194. <Separator/>
  195. <MenuItem Header="Create Folder" Command="{Binding NewFolderCommand}">
  196. </MenuItem>
  197. <MenuItem Header="Delete Folder" Command="{Binding DeleteFolderCommand}">
  198. </MenuItem>
  199. </ContextMenu>
  200. </StackPanel.ContextMenu>
  201. </StackPanel>
  202. <HierarchicalDataTemplate.Triggers>
  203. </HierarchicalDataTemplate.Triggers>
  204. </HierarchicalDataTemplate>
  205. <HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">
  206. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  207. <Path Data="M0.5,5.125 L5.125,5.125 5.125,0.5 M5.1,0.5 L15.5,0.5 15.5,19.5 0.5,19.5 C0.5,14.7 0.5,10 0.5,5.1 2,3.6 3.6,2 5.1,0.5 z M8.1,8.5 L8.2,8.5 z M8.1,11.5 L8.2,11.5 z M8.1,14.5 L8.2,14.5 z" Fill="#FFF3F3F3" HorizontalAlignment="Left" Stretch="Fill" Stroke="#FF454545" Width="13" Height="16"/>
  208. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  209. <StackPanel.ContextMenu>
  210. <ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
  211. <MenuItem Header="Save As..." Command="{Binding SaveAsCommand}">
  212. </MenuItem>
  213. <MenuItem Header="Rename Sequence" Command="{Binding RenameCommand}">
  214. </MenuItem>
  215. <MenuItem Header="Delete Sequence" Command="{Binding DeleteSequenceCommand}">
  216. </MenuItem>
  217. </ContextMenu>
  218. </StackPanel.ContextMenu>
  219. </StackPanel>
  220. </HierarchicalDataTemplate>
  221. <local:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector" FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>
  222. <Style x:Key="SequenceTextBox" TargetType="{x:Type ctrl:TextBoxEx}">
  223. <Setter Property="SnapsToDevicePixels" Value="True"/>
  224. <Setter Property="FontFamily" Value="Arial" />
  225. <Setter Property="FontSize" Value="14" />
  226. <Setter Property="BorderThickness" Value="1"/>
  227. <Setter Property="MinHeight" Value="20" />
  228. <Setter Property="Background" Value="#2570a1"/>
  229. <Setter Property="Foreground" Value="{DynamicResource FG_White}" />
  230. <Setter Property="BorderBrush" Value="{DynamicResource FG_White}"/>
  231. <Setter Property="Padding" Value="5,1"/>
  232. <Setter Property="Border.CornerRadius" Value="5"/>
  233. <Setter Property="HorizontalContentAlignment" Value="Left"/>
  234. <Setter Property="VerticalContentAlignment" Value="Center"/>
  235. <Setter Property="AllowDrop" Value="true"/>
  236. <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
  237. <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
  238. <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
  239. <Setter Property="Template">
  240. <Setter.Value>
  241. <ControlTemplate TargetType="{x:Type TextBox}">
  242. <Border x:Name="BG" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="{TemplateBinding Border.CornerRadius}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
  243. <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  244. </Border>
  245. </ControlTemplate>
  246. </Setter.Value>
  247. </Setter>
  248. </Style>
  249. </UserControl.Resources>
  250. <i:Interaction.Triggers>
  251. <i:EventTrigger EventName="Loaded">
  252. <i:InvokeCommandAction Command="{Binding LoadedCommand}" CommandParameter="{Binding ElementName=sequenceView}"/>
  253. </i:EventTrigger>
  254. </i:Interaction.Triggers>
  255. <Grid HorizontalAlignment="Left">
  256. <Grid.ColumnDefinitions>
  257. <ColumnDefinition Width="Auto" MinWidth="275"/>
  258. <ColumnDefinition />
  259. </Grid.ColumnDefinitions>
  260. <GridSplitter HorizontalAlignment="Right" Width="5" BorderThickness="0,8" Margin="0,0,-5,0">
  261. <GridSplitter.Background>
  262. <SolidColorBrush/>
  263. </GridSplitter.Background>
  264. </GridSplitter>
  265. <Grid>
  266. <Grid.RowDefinitions>
  267. <RowDefinition Height="Auto"/>
  268. <RowDefinition Height="Auto"/>
  269. <RowDefinition Height="740"/>
  270. </Grid.RowDefinitions>
  271. <StackPanel Orientation="Horizontal">
  272. <Button Content="New" Width="85" Height="30" Command="{Binding NewSequenceCommand}"/>
  273. <Button Content="Rename" Margin="10,0,0,0" Width="85" Height="30" Command="{Binding RenameCommand}"/>
  274. <Button Content="Delete" Margin="10,0,0,0" Width="85" Height="30" Command="{Binding DeleteSequenceCommand}"/>
  275. </StackPanel>
  276. <Grid Grid.Row="1" Margin="0,3,0,0">
  277. <Grid.ColumnDefinitions>
  278. <ColumnDefinition Width="85"/>
  279. <ColumnDefinition Width="*"/>
  280. </Grid.ColumnDefinitions>
  281. <ctrl:TextBoxEx AllowBackgroundChange="False" Width="84" Height="26" Text="{Binding Path=SequenceName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" Style="{StaticResource SequenceTextBox}" ></ctrl:TextBoxEx>
  282. </Grid>
  283. <Border Grid.Row="2" Margin="0,5,0,0" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}">
  284. <TreeView x:Name="PART_TREE" Grid.Row="2" Margin="5" ItemsSource="{Binding Files[0].Files}" ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"
  285. VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"
  286. Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" >
  287. <TreeView.ItemContainerStyle>
  288. <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource ResourceKey={x:Type TreeViewItem}}">
  289. <Setter Property="IsExpanded" Value="True"></Setter>
  290. </Style>
  291. </TreeView.ItemContainerStyle>
  292. <i:Interaction.Triggers>
  293. <i:EventTrigger EventName="SelectedItemChanged">
  294. <i:InvokeCommandAction Command="{Binding TreeSelectChangedCommand}" CommandParameter="{Binding SelectedItem, ElementName=PART_TREE}"/>
  295. </i:EventTrigger>
  296. <i:EventTrigger EventName="MouseRightButtonDown">
  297. <sequence:EventToCommand Command="{Binding TreeRightMouseDownCommand}"/>
  298. </i:EventTrigger>
  299. </i:Interaction.Triggers>
  300. <TreeView.ContextMenu>
  301. <ContextMenu>
  302. <MenuItem Header="New Sequence" Command="{Binding NewSequenceCommand}"></MenuItem>
  303. <Separator/>
  304. </ContextMenu>
  305. </TreeView.ContextMenu>
  306. </TreeView>
  307. </Border>
  308. </Grid>
  309. <Grid Grid.Column="1">
  310. <Grid.RowDefinitions>
  311. <RowDefinition Height="Auto"/>
  312. <RowDefinition />
  313. </Grid.RowDefinitions>
  314. <Grid Width="1600" HorizontalAlignment="Left" Margin="10,0,0,0" IsEnabled="{Binding IsPermission}">
  315. <Grid.ColumnDefinitions>
  316. <ColumnDefinition Width="150"/>
  317. <ColumnDefinition Width="10*"/>
  318. <ColumnDefinition Width="150"/>
  319. <ColumnDefinition Width="8*"/>
  320. <ColumnDefinition Width="8*"/>
  321. <ColumnDefinition Width="Auto"/>
  322. </Grid.ColumnDefinitions>
  323. <Grid.RowDefinitions>
  324. <RowDefinition Height="30"/>
  325. <RowDefinition Height="30"/>
  326. <RowDefinition Height="Auto"/>
  327. </Grid.RowDefinitions>
  328. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  329. <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
  330. </Border>
  331. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  332. <ctrl:TextBoxEx AllowBackgroundChange="False" IsEnabled="false" Text="{Binding CurrentSequence.Name}" TextWrapping="Wrap" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>
  333. </Border>
  334. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  335. <TextBlock Text="Create" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
  336. </Border>
  337. <Border Grid.Column="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  338. <TextBlock Text="{Binding CurrentSequence.Creator}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>
  339. </Border>
  340. <Border Grid.Column="4" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  341. <TextBlock Text="{Binding CurrentSequence.CreateTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>
  342. </Border>
  343. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  344. <TextBlock Text="Description" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
  345. </Border>
  346. <Border Grid.Row="1" Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  347. <ctrl:TextBoxEx Text="{Binding CurrentSequence.Description}" TextSaved="{Binding IsSavedDesc, Mode=TwoWay}" TextWrapping="Wrap" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>
  348. </Border>
  349. <Border Grid.Row="1" Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
  350. <TextBlock Text="Revise" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
  351. </Border>
  352. <Border Grid.Row="1" Grid.Column="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  353. <TextBlock Text="{Binding CurrentSequence.Revisor}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="120"/>
  354. </Border>
  355. <Border Grid.Row="1" Grid.Column="4" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
  356. <TextBlock Text="{Binding CurrentSequence.ReviseTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="140"/>
  357. </Border>
  358. </Grid>
  359. <Grid Name="StepsGrid" Grid.Row="1" Margin="10,10,0,0">
  360. <Grid.RowDefinitions>
  361. <RowDefinition Height="50"/>
  362. <RowDefinition />
  363. </Grid.RowDefinitions>
  364. <Grid>
  365. <StackPanel Orientation="Horizontal">
  366. <Button Content="Append" Width="90" Height="30" Command="{Binding AddStepCommand}"/>
  367. <Button Content="Insert" Margin="10,0,0,0" Width="90" Height="30" Command="{Binding InsertCommand}"/>
  368. <Button Content="Copy" Margin="10,0,0,0" Width="90" Height="30" Command="{Binding CopyCommand}"/>
  369. <Button Content="Paste" Margin="10,0,0,0" Width="90" Height="30" Command="{Binding PasteCommand}"/>
  370. <Button Content="Delete" Margin="10,0,0,0" Width="90" Height="30" Command="{Binding DeleteStepCommand}"/>
  371. <Button Margin="180,0,0,0" Width="90" Height="30" Content="Reload" Command="{Binding ReloadSequenceCommand}"/>
  372. <Button Margin="10,0,0,0" Width="90" Height="30" Content="Save" Command="{Binding SaveSequenceCommand}"/>
  373. </StackPanel>
  374. </Grid>
  375. <Grid Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top">
  376. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
  377. <dgextension:XDataGrid x:Name="dgCustom" AlternationCount="2"
  378. HeadersVisibility="Column" AutoGenerateColumns="False" GridLinesVisibility="None"
  379. CanUserResizeColumns="False" CanUserResizeRows="False" CanUserDeleteRows="False"
  380. Background="#00FFFFFF" CanUserAddRows="False" UseHorizontalScrolling="True"
  381. VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling">
  382. <dgextension:XDataGrid.LayoutTransform>
  383. <TransformGroup>
  384. <RotateTransform Angle="-90"/>
  385. <ScaleTransform ScaleX="1" ScaleY="-1" />
  386. </TransformGroup>
  387. </dgextension:XDataGrid.LayoutTransform>
  388. </dgextension:XDataGrid>
  389. </ScrollViewer>
  390. <Grid>
  391. <Grid.ColumnDefinitions>
  392. <ColumnDefinition MaxWidth="263"/>
  393. <ColumnDefinition Width="Auto"/>
  394. </Grid.ColumnDefinitions>
  395. <Rectangle Fill="{DynamicResource Table_BD}" Height="1" VerticalAlignment="Top"/>
  396. </Grid>
  397. </Grid>
  398. </Grid>
  399. </Grid>
  400. </Grid>
  401. </UserControl>