PopSettingDialogView.xaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Editors.Recipe.PopSettingDialogView"
  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="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  7. xmlns:micro="clr-namespace:Caliburn.Micro"
  8. xmlns:editors="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors"
  9. xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls"
  10. xmlns:local="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors.Recipe"
  11. mc:Ignorable="d"
  12. Width="600"
  13. Height="800">
  14. <UserControl.Resources>
  15. <HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}" >
  16. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  17. <Image x:Name="ExpandImage" Source="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Close.png" Width="14" Height="12" Margin="2,0,0,0" VerticalAlignment="Center"/>
  18. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  19. </StackPanel>
  20. <HierarchicalDataTemplate.Triggers>
  21. <Trigger Property="IsEnabled" Value="false">
  22. <Setter Property="Image.Source" TargetName="ExpandImage" Value="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Unable.png"/>
  23. </Trigger>
  24. </HierarchicalDataTemplate.Triggers>
  25. </HierarchicalDataTemplate>
  26. <HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">
  27. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  28. <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"/>
  29. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  30. </StackPanel>
  31. </HierarchicalDataTemplate>
  32. <editors:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector" FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>
  33. <DataTemplate x:Key="template_TextBox">
  34. <controls:TextBoxEx Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  35. Validation.ErrorTemplate="{x:Null}"
  36. EditBoxMode="Decimal"
  37. TextSaved="{Binding IsSaved,
  38. Mode=TwoWay,
  39. UpdateSourceTrigger=PropertyChanged}"
  40. TextWrapping="Wrap"
  41. FontSize="14"
  42. FontFamily="Arial"
  43. Width="300"
  44. IsEnabled="{Binding EnableDefaultValue}"/>
  45. </DataTemplate >
  46. <DataTemplate x:Key="template_TextBoxString">
  47. <controls:TextBoxEx Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  48. Validation.ErrorTemplate="{x:Null}"
  49. EditBoxMode="Default"
  50. TextSaved="{Binding IsSaved,
  51. Mode=TwoWay,
  52. UpdateSourceTrigger=PropertyChanged}"
  53. TextWrapping="Wrap"
  54. FontSize="14"
  55. FontFamily="Arial"
  56. Width="300"
  57. IsEnabled="{Binding EnableDefaultValue}"/>
  58. </DataTemplate >
  59. <DataTemplate x:Key="template_ComboBox">
  60. <controls:ComboBoxExt Style="{StaticResource ResourceKey={x:Type ComboBox}}"
  61. Visibility="{Binding Visible}"
  62. ComboBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  63. IsEnabled="{Binding IsEnabled}"
  64. DisplayMemberPath="DisplayName"
  65. SelectedValuePath="ControlName"
  66. SelectedValue="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  67. ItemsSource="{Binding Options}"/>
  68. </DataTemplate>
  69. <local:TemplateSelector x:Key="Template"
  70. TextBoxTemplate="{StaticResource template_TextBox}"
  71. TextBoxTemplateString="{StaticResource template_TextBoxString}"
  72. ComboBoxTemplate="{StaticResource template_ComboBox}"
  73. />
  74. </UserControl.Resources>
  75. <Grid>
  76. <Grid.RowDefinitions>
  77. <RowDefinition Height="30"></RowDefinition>
  78. <RowDefinition Height="Auto" ></RowDefinition>
  79. <RowDefinition Height="*"></RowDefinition>
  80. <RowDefinition Height="Auto" ></RowDefinition>
  81. </Grid.RowDefinitions>
  82. <Grid.ColumnDefinitions>
  83. <ColumnDefinition Width="auto" ></ColumnDefinition>
  84. <ColumnDefinition/>
  85. </Grid.ColumnDefinitions>
  86. <StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Background="CadetBlue" >
  87. <TextBlock Text="Endpoint Control Parameters" HorizontalAlignment="Center" Height="18" Width="210"></TextBlock>
  88. </StackPanel>
  89. <Border Grid.Row="1" Grid.ColumnSpan="2">
  90. <DataGrid ItemsSource="{Binding Path=ControlParameters}"
  91. CanUserAddRows="False"
  92. AutoGenerateColumns="False"
  93. RowHeaderWidth="0"
  94. VirtualizingPanel.IsVirtualizing="True"
  95. VirtualizingPanel.VirtualizationMode="Recycling"
  96. Width="591"
  97. HorizontalAlignment="Center"
  98. VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" >
  99. <DataGrid.Columns>
  100. <DataGridTemplateColumn Width="289" Header="Parameters" >
  101. <DataGridTemplateColumn.CellTemplate>
  102. <DataTemplate>
  103. <TextBlock Text="{Binding DisplayName}"
  104. FontFamily="Arial" FontSize="14"
  105. Foreground="{DynamicResource FG_Black}"
  106. HorizontalAlignment="Right"
  107. VerticalAlignment="Center"
  108. ToolTip="{Binding RelativeSource={RelativeSource Self},
  109. Path=Text}"/>
  110. </DataTemplate>
  111. </DataGridTemplateColumn.CellTemplate>
  112. </DataGridTemplateColumn>
  113. <DataGridTemplateColumn Header="setting" CellTemplateSelector="{StaticResource Template}" Width="300"/>
  114. </DataGrid.Columns>
  115. </DataGrid>
  116. </Border>
  117. <Border Grid.Row="2" Grid.ColumnSpan="2" Margin="0,5" Visibility="{Binding BandVisibility}">
  118. <DataGrid ItemsSource="{Binding Path=BandParameters}"
  119. CanUserAddRows="False"
  120. AutoGenerateColumns="False"
  121. RowHeaderWidth="0"
  122. VirtualizingPanel.IsVirtualizing="True"
  123. VirtualizingPanel.VirtualizationMode="Recycling"
  124. Width="590"
  125. HorizontalAlignment="Center"
  126. VerticalAlignment="Top" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" >
  127. <DataGrid.Columns>
  128. <DataGridTemplateColumn Width="228" Header="Parameters" >
  129. <DataGridTemplateColumn.CellTemplate>
  130. <DataTemplate>
  131. <TextBlock Text="{Binding DisplayName}"
  132. FontFamily="Arial" FontSize="14"
  133. Foreground="{DynamicResource FG_Black}"
  134. HorizontalAlignment="Right"
  135. VerticalAlignment="Center"
  136. ToolTip="{Binding RelativeSource={RelativeSource Self},
  137. Path=Text}"/>
  138. </DataTemplate>
  139. </DataGridTemplateColumn.CellTemplate>
  140. </DataGridTemplateColumn>
  141. <DataGridTemplateColumn Width="180" Header="Wavelength (nm)">
  142. <DataGridTemplateColumn.CellTemplate>
  143. <DataTemplate>
  144. <controls:TextBoxEx Text="{Binding WavelengthDoubleParam.Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  145. Validation.ErrorTemplate="{x:Null}"
  146. EditBoxMode="Decimal"
  147. TextSaved="{Binding IsSaved,
  148. Mode=TwoWay,
  149. UpdateSourceTrigger=PropertyChanged}"
  150. TextWrapping="Wrap"
  151. FontSize="14"
  152. FontFamily="Arial"
  153. Width="300"
  154. IsEnabled="{Binding EnableDefaultValue}"/>
  155. </DataTemplate>
  156. </DataGridTemplateColumn.CellTemplate>
  157. </DataGridTemplateColumn>
  158. <DataGridTemplateColumn Width="180" Header="Bandwidth (nm)">
  159. <DataGridTemplateColumn.CellTemplate>
  160. <DataTemplate>
  161. <controls:TextBoxEx Text="{Binding BandwidthDoubleParam.Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  162. Validation.ErrorTemplate="{x:Null}"
  163. EditBoxMode="Decimal"
  164. TextSaved="{Binding IsSaved,
  165. Mode=TwoWay,
  166. UpdateSourceTrigger=PropertyChanged}"
  167. TextWrapping="Wrap"
  168. FontSize="14"
  169. FontFamily="Arial"
  170. Width="300"
  171. IsEnabled="{Binding EnableDefaultValue}"/>
  172. </DataTemplate>
  173. </DataGridTemplateColumn.CellTemplate>
  174. </DataGridTemplateColumn>
  175. </DataGrid.Columns>
  176. </DataGrid>
  177. </Border>
  178. <StackPanel Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="-4,10,10,10" Width="190">
  179. <Button Content="OK" Width="90" Height="30">
  180. <i:Interaction.Triggers>
  181. <i:EventTrigger EventName="Click">
  182. <micro:ActionMessage MethodName="OK">
  183. </micro:ActionMessage>
  184. </i:EventTrigger>
  185. </i:Interaction.Triggers>
  186. </Button>
  187. <Button Content="Cancel" Margin="10,0,0,0" Width="90" Height="30">
  188. <i:Interaction.Triggers>
  189. <i:EventTrigger EventName="Click">
  190. <micro:ActionMessage MethodName="Cancel">
  191. </micro:ActionMessage>
  192. </i:EventTrigger>
  193. </i:Interaction.Triggers>
  194. </Button>
  195. </StackPanel>
  196. </Grid>
  197. </UserControl>