<UserControl x:Class="OpenTapEditor.StepTree"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:local="clr-namespace:OpenTapEditor"
|
mc:Ignorable="d"
|
xmlns:ui="clr-namespace:UILib;assembly=UILib"
|
xmlns:dd="urn:gong-wpf-dragdrop"
|
x:Name="self"
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
d:DesignHeight="450" d:DesignWidth="800">
|
<UserControl.Resources>
|
<ResourceDictionary>
|
<ResourceDictionary.MergedDictionaries>
|
<ResourceDictionary Source="/UILib;component/Themes/Generic.xaml"/>
|
</ResourceDictionary.MergedDictionaries>
|
|
<Style x:Key="gvh" TargetType="GridViewColumnHeader">
|
<Setter Property="Background" Value="{DynamicResource VerBar}"/>
|
</Style>
|
|
<Style x:Key="CellBorder" TargetType="Border">
|
<Setter Property="Padding" Value="2"/>
|
<Setter Property="BorderBrush" Value="DimGray"/>
|
<Setter Property="BorderThickness" Value="1,0,0,1"/>
|
<Setter Property="Margin" Value="-6,0"/>
|
</Style>
|
|
<DataTemplate x:Key="gvht">
|
<Border Padding="0">
|
<TextBlock Foreground="Black" Text="{Binding }"/>
|
</Border>
|
</DataTemplate>
|
</ResourceDictionary>
|
</UserControl.Resources>
|
<Grid>
|
<ui:TreeListView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding Datasource}"
|
SelectedItemChanged="treeList_SelectedItemChanged"
|
dd:DragDrop.IsDragSource="True"
|
dd:DragDrop.IsDropTarget="True"
|
dd:DragDrop.DropTargetAdornerBrush="Red"
|
dd:DragDrop.DropHandler="{Binding DragHandler}"
|
PreviewMouseRightButtonDown="treeList_PreviewMouseRightButtonDown"
|
AlternationCount="2"
|
x:Name="treeList">
|
<ui:TreeListView.Columns>
|
<GridViewColumn Header="" Width="20"
|
ui:TreeViewColumnWidthHelper.AutoWidth="Auto"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.HeaderContainerStyle>
|
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource gvh}">
|
<Setter Property="IsEnabled" Value="False"/>
|
</Style>
|
</GridViewColumn.HeaderContainerStyle>
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<DockPanel>
|
<local:ErrorSpan DockPanel.Dock="Right" Source="{Binding }"/>
|
<TextBlock DockPanel.Dock="Right" Style="{StaticResource TreeTotalIndex}"/>
|
|
<ToggleButton HorizontalAlignment="Left" x:Name="Expander" Style="{StaticResource ExpandCollapseToggleStyle}"
|
IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ui:TreeListViewItem,AncestorLevel=1}}"
|
ClickMode="Press"/>
|
|
</DockPanel>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
|
<GridViewColumn Header="名称" HeaderContainerStyle="{StaticResource gvh}" Width="200"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<DockPanel>
|
<ui:EditBox Value="{Binding Name,Mode=TwoWay}"/>
|
</DockPanel>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
|
<GridViewColumn Header="RunMode" HeaderContainerStyle="{StaticResource gvh}" Width="80"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<DockPanel>
|
<CheckBox Margin="0,0,10,0" VerticalContentAlignment="Center"
|
IsChecked="{Binding Enabled,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
|
</DockPanel>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
|
<GridViewColumn Header="类型" HeaderContainerStyle="{StaticResource gvh}" Width="200"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<TextBlock Text="{Binding TypeName}"/>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
|
<GridViewColumn Header="描述" HeaderContainerStyle="{StaticResource gvh}" Width="200"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<ui:EditBox Value="{Binding Description,Mode=TwoWay}"/>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
|
<GridViewColumn Header="下限" HeaderContainerStyle="{StaticResource gvh}" Width="200"
|
HeaderTemplate="{StaticResource gvht}">
|
<GridViewColumn.CellTemplate>
|
<DataTemplate>
|
<ui:EditBox Value="{Binding LimitDown,Mode=TwoWay}"/>
|
</DataTemplate>
|
</GridViewColumn.CellTemplate>
|
</GridViewColumn>
|
</ui:TreeListView.Columns>
|
|
<TreeView.ItemContainerStyle>
|
<Style TargetType="TreeViewItem">
|
<Setter Property="Padding" Value="0"/>
|
<Style.Triggers>
|
<DataTrigger Binding="{Binding Enabled}" Value="False">
|
<Setter Property="Foreground" Value="Gray"/>
|
</DataTrigger>
|
|
<DataTrigger Value="True">
|
<DataTrigger.Binding>
|
<MultiBinding Converter="{x:Static local:RunningIdConverter.Instance}">
|
<Binding ElementName="self" Path="CurrentId"/>
|
<Binding Path="Id"/>
|
</MultiBinding>
|
</DataTrigger.Binding>
|
<Setter Property="Background" Value="LightGreen"/>
|
</DataTrigger>
|
|
<Trigger Property="ui:TreeListViewItem.IsSelected" Value="True">
|
<Setter Property="Background" Value="#abc9FF"/>
|
</Trigger>
|
|
</Style.Triggers>
|
</Style>
|
</TreeView.ItemContainerStyle>
|
|
<TreeView.ItemTemplate>
|
<HierarchicalDataTemplate ItemsSource="{Binding ChildTestSteps}">
|
<Grid x:Name="rp">
|
<Grid.RowDefinitions>
|
<RowDefinition/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
<Border BorderThickness="0" x:Name="border">
|
<GridViewRowPresenter Grid.Row="0"
|
Columns="{Binding Columns, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ui:TreeListView,AncestorLevel=1}}"
|
Content="{Binding }"/>
|
</Border>
|
</Grid>
|
|
<DataTemplate.Triggers>
|
|
</DataTemplate.Triggers>
|
|
<!--<Grid.Style>
|
<Style TargetType="Grid">
|
<Style.Triggers>
|
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
|
<Setter Property="Background" Value="LightGreen"/>
|
</Trigger>
|
</Style.Triggers>
|
</Style>
|
</Grid.Style>-->
|
|
<!--<HierarchicalDataTemplate.Triggers>
|
<Trigger Property="IsMouseOver" Value="True">
|
<Setter TargetName="rp" Property="Background" Value="#e5f3fb"/>
|
</Trigger>
|
<Trigger Property="ListViewItem.IsSelected" Value="True">
|
<Setter TargetName="rp" Property="Background" Value="#cbe8f6"/>
|
</Trigger>
|
</HierarchicalDataTemplate.Triggers>-->
|
</HierarchicalDataTemplate>
|
</TreeView.ItemTemplate>
|
</ui:TreeListView>
|
</Grid>
|
</UserControl>
|