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