RecipeCompareSelectDialogView.xaml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <UserControl x:Class="FurnaceUI.Views.Recipes.RecipeCompareSelectDialogView"
  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:cal="http://www.caliburn.org"
  8. xmlns:converter="clr-namespace:FurnaceUI.Converter"
  9. mc:Ignorable="d"
  10. Width="350"
  11. Height="500">
  12. <UserControl.Resources>
  13. <HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}" >
  14. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  15. <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"/>
  16. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  17. </StackPanel>
  18. <HierarchicalDataTemplate.Triggers>
  19. <Trigger Property="IsEnabled" Value="false">
  20. <Setter Property="Image.Source" TargetName="ExpandImage" Value="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Unable.png"/>
  21. </Trigger>
  22. </HierarchicalDataTemplate.Triggers>
  23. </HierarchicalDataTemplate>
  24. <HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">
  25. <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">
  26. <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"/>
  27. <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  28. </StackPanel>
  29. </HierarchicalDataTemplate>
  30. <converter:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector"
  31. FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>
  32. </UserControl.Resources>
  33. <Border BorderBrush="Gray" BorderThickness="0,1,0,0" Background="{DynamicResource Tab_BG}">
  34. <Grid Margin="10">
  35. <Grid.RowDefinitions>
  36. <RowDefinition Height="50"/>
  37. <RowDefinition />
  38. <RowDefinition Height="auto"/>
  39. </Grid.RowDefinitions>
  40. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0" Background="Transparent">
  41. <StackPanel Orientation="Horizontal">
  42. <TextBlock Margin="10,0,0,0" Text="Chamber" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
  43. <ComboBox Margin="10,0,0,5" Width="90" Height="30" ItemsSource="{Binding Chambers}" SelectedItem="{Binding SelectedChamber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  44. <i:Interaction.Triggers>
  45. <i:EventTrigger EventName="SelectionChanged">
  46. <cal:ActionMessage MethodName="ChamberSelectionChanged"/>
  47. </i:EventTrigger>
  48. </i:Interaction.Triggers>
  49. </ComboBox>
  50. </StackPanel>
  51. </Border>
  52. <Border BorderBrush="{DynamicResource Table_BD}" Grid.Row="1" BorderThickness="0" Background="Transparent">
  53. <TabControl ItemsSource="{Binding ProcessTypeFileList}" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"
  54. HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" Padding="0"
  55. SelectedIndex="{Binding ProcessTypeIndexSelection, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  56. <TabControl.ItemTemplate>
  57. <DataTemplate>
  58. <TextBlock Text="{Binding ProcessType}" />
  59. </DataTemplate>
  60. </TabControl.ItemTemplate>
  61. <TabControl.ContentTemplate>
  62. <DataTemplate>
  63. <TreeView x:Name="RecipeTree1" Margin="0" VerticalAlignment="Stretch"
  64. ItemsSource="{Binding FileListByProcessType}"
  65. ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"
  66. Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}"
  67. VirtualizingPanel.IsVirtualizing="True"
  68. VirtualizingPanel.VirtualizationMode="Recycling"
  69. Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
  70. <TreeView.ItemContainerStyle>
  71. <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource TreeViewItemExtend}">
  72. <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"></Setter>
  73. <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"></Setter>
  74. </Style>
  75. </TreeView.ItemContainerStyle>
  76. <i:Interaction.Triggers>
  77. <i:EventTrigger EventName="SelectedItemChanged">
  78. <cal:ActionMessage MethodName="TreeSelectChanged">
  79. <cal:Parameter Value="{Binding SelectedItem, ElementName=RecipeTree1}" />
  80. </cal:ActionMessage>
  81. </i:EventTrigger>
  82. <i:EventTrigger EventName="MouseDoubleClick">
  83. <cal:ActionMessage MethodName="TreeMouseDoubleClick">
  84. <cal:Parameter Value="{Binding SelectedItem, ElementName=RecipeTree1}" />
  85. </cal:ActionMessage>
  86. </i:EventTrigger>
  87. </i:Interaction.Triggers>
  88. </TreeView>
  89. </DataTemplate>
  90. </TabControl.ContentTemplate>
  91. </TabControl>
  92. </Border>
  93. <StackPanel Grid.Row="2" Margin="0,10,0,0" Orientation="Horizontal" HorizontalAlignment="Center">
  94. <Button Content="Browser" Width="90" Height="30">
  95. <i:Interaction.Triggers>
  96. <i:EventTrigger EventName="Click">
  97. <cal:ActionMessage MethodName="Browser">
  98. </cal:ActionMessage>
  99. </i:EventTrigger>
  100. </i:Interaction.Triggers>
  101. </Button>
  102. <Button Content="OK" Width="90" Height="30">
  103. <i:Interaction.Triggers>
  104. <i:EventTrigger EventName="Click">
  105. <cal:ActionMessage MethodName="OK">
  106. </cal:ActionMessage>
  107. </i:EventTrigger>
  108. </i:Interaction.Triggers>
  109. </Button>
  110. <Button Content="Cancel" Width="90" Height="30">
  111. <i:Interaction.Triggers>
  112. <i:EventTrigger EventName="Click">
  113. <cal:ActionMessage MethodName="Cancel">
  114. </cal:ActionMessage>
  115. </i:EventTrigger>
  116. </i:Interaction.Triggers>
  117. </Button>
  118. </StackPanel>
  119. </Grid>
  120. </Border>
  121. </UserControl>