RecipeSelectDialogView.xaml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Editors.Recipe.RecipeSelectDialogView"
  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:local="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors.Recipe"
  10. mc:Ignorable="d"
  11. Width="520"
  12. Height="650">
  13. <UserControl.Resources>
  14. <HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}" >
  15. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  16. <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"/>
  17. <TextBlock TextWrapping="Wrap" Width="420" Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  18. </StackPanel>
  19. <HierarchicalDataTemplate.Triggers>
  20. <Trigger Property="IsEnabled" Value="True">
  21. <Setter Property="Image.Source" TargetName="ExpandImage" Value="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Unable.png"/>
  22. </Trigger>
  23. </HierarchicalDataTemplate.Triggers>
  24. </HierarchicalDataTemplate>
  25. <HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">
  26. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  27. <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"/>
  28. <TextBlock TextWrapping="Wrap" Width="420" Text="{Binding Name}" FontSize="15" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  29. </StackPanel>
  30. </HierarchicalDataTemplate>
  31. <editors:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector"
  32. FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>
  33. <Style TargetType="ScrollViewer" BasedOn="{StaticResource ExScrollViewer}"/>
  34. <Style TargetType="ScrollBar" BasedOn="{StaticResource ExScrollBar}"/>
  35. </UserControl.Resources>
  36. <Border BorderBrush="Gray" BorderThickness="0,1,0,0" Background="{DynamicResource Tab_BG}">
  37. <Grid Margin="10">
  38. <Grid.RowDefinitions>
  39. <RowDefinition />
  40. <RowDefinition Height="auto"/>
  41. </Grid.RowDefinitions>
  42. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0" Background="Transparent">
  43. <TabControl ItemsSource="{Binding ProcessTypeFileList}" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"
  44. HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" Padding="0"
  45. SelectedIndex="{Binding ProcessTypeIndexSelection, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  46. <TabControl.ItemTemplate>
  47. <DataTemplate>
  48. <TextBlock Text="{Binding ProcessType}" />
  49. </DataTemplate>
  50. </TabControl.ItemTemplate>
  51. <TabControl.ContentTemplate>
  52. <DataTemplate>
  53. <TreeView x:Name="RecipeTree1" Margin="0" VerticalAlignment="Stretch"
  54. ItemsSource="{Binding FileListByProcessType}"
  55. ScrollViewer.HorizontalScrollBarVisibility="Hidden"
  56. ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"
  57. Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}"
  58. VirtualizingPanel.IsVirtualizing="True"
  59. VirtualizingPanel.VirtualizationMode="Recycling"
  60. Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
  61. <TreeView.ItemContainerStyle>
  62. <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource TreeViewItemExtend}">
  63. <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"></Setter>
  64. <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"></Setter>
  65. </Style>
  66. </TreeView.ItemContainerStyle>
  67. <i:Interaction.Triggers>
  68. <i:EventTrigger EventName="SelectedItemChanged">
  69. <micro:ActionMessage MethodName="TreeSelectChanged">
  70. <micro:Parameter Value="{Binding SelectedItem, ElementName=RecipeTree1}" />
  71. </micro:ActionMessage>
  72. </i:EventTrigger>
  73. <i:EventTrigger EventName="MouseDoubleClick">
  74. <micro:ActionMessage MethodName="TreeMouseDoubleClick">
  75. <micro:Parameter Value="$eventArgs" />
  76. </micro:ActionMessage>
  77. </i:EventTrigger>
  78. <i:EventTrigger EventName="PreviewMouseLeftButtonUp">
  79. <micro:ActionMessage MethodName="LinePageUp">
  80. <micro:Parameter Value="$eventArgs" />
  81. </micro:ActionMessage>
  82. </i:EventTrigger>
  83. </i:Interaction.Triggers>
  84. </TreeView>
  85. </DataTemplate>
  86. </TabControl.ContentTemplate>
  87. </TabControl>
  88. </Border>
  89. <StackPanel Grid.Row="1" Margin="0,10,0,0" Orientation="Horizontal" HorizontalAlignment="Center">
  90. <Button Content="OK" >
  91. <i:Interaction.Triggers>
  92. <i:EventTrigger EventName="Click">
  93. <micro:ActionMessage MethodName="OK">
  94. </micro:ActionMessage>
  95. </i:EventTrigger>
  96. </i:Interaction.Triggers>
  97. </Button>
  98. <Button Content="Cancel" Margin="10,0,0,0">
  99. <i:Interaction.Triggers>
  100. <i:EventTrigger EventName="Click">
  101. <micro:ActionMessage MethodName="Cancel">
  102. </micro:ActionMessage>
  103. </i:EventTrigger>
  104. </i:Interaction.Triggers>
  105. </Button>
  106. </StackPanel>
  107. </Grid>
  108. </Border>
  109. </UserControl>