chr
2024-02-29 d9e38e9ee6ea7c2de66a7121789472833a7c765d
优化UI样式;
10个文件已修改
1个文件已添加
410 ■■■■■ 已修改文件
Controls/MenuTabControl.xaml 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Resources/Font/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
Style/Colors.xaml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Style/CommonTree.xaml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Style/ListViewStyle.xaml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Style/MainTab.xaml 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/StepSetting.xaml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Test/FunctionSetting.xaml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Test/ProgramList.xaml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Test/SequnceList.xaml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WPFProject.csproj 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controls/MenuTabControl.xaml
@@ -14,9 +14,54 @@
                <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <Style x:Key="tabItemStyle" TargetType="{x:Type ctl:IconTabItem}">
                <Setter Property="Margin" Value="0"/>
                <Setter Property="Background" Value="{StaticResource ButtonColor}"/>
                <Setter Property="Foreground" Value="{StaticResource ButtonFont}"/>
                <Setter Property="HeaderFontSize" Value="15"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate x:Name="ct" TargetType="{x:Type ctl:IconTabItem}">
                            <Border x:Name="templateRoot" BorderThickness="1,1,1,1" Padding="10"
                    BorderBrush="Gray"
                    Background="{TemplateBinding Background}">
                                <StackPanel HorizontalAlignment="Center">
                                    <Image Width="30" Height="30" Source="{TemplateBinding Icon}"/>
                                    <Label x:Name="txt" Visibility="Visible" BorderThickness="0"
                           VerticalContentAlignment="Center"
                           HorizontalAlignment="Left"
                           FontSize="{TemplateBinding HeaderFontSize}"
                           Content="{TemplateBinding Header}" ToolTip="{TemplateBinding Header}"
                           Foreground="{TemplateBinding Foreground}" />
                                </StackPanel>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="BorderThickness" TargetName="templateRoot" Value="1,1,1,1"/>
                                    <Setter Property="BorderBrush" TargetName="templateRoot" Value="{StaticResource ButtonFontSelected}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Foreground" TargetName="txt" Value="{StaticResource ButtonFontSelected}"/>
                                    <Setter Property="Background" TargetName="templateRoot" Value="{StaticResource ButtonSelected}"/>
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <Style x:Key="ControlStyle" TargetType="{x:Type TabControl}">
                <Setter Property="BorderThickness" Value="0"/>
                <Setter Property="BorderBrush" Value="Transparent"/>
                <Setter Property="ItemContainerStyle" Value="{StaticResource tabItemStyle}"/>
                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
                <Setter Property="Template">
                    <Setter.Value>
@@ -92,57 +137,12 @@
                    </Setter.Value>
                </Setter>
            </Style>
            <Style x:Key="tabItemStyle" TargetType="{x:Type ctl:IconTabItem}">
                <Setter Property="Margin" Value="0"/>
                <Setter Property="Background" Value="{StaticResource ButtonColor}"/>
                <Setter Property="Foreground" Value="{StaticResource ButtonFont}"/>
                <Setter Property="HeaderFontSize" Value="15"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate x:Name="ct" TargetType="{x:Type ctl:IconTabItem}">
                            <Border x:Name="templateRoot" BorderThickness="1,1,1,1" Padding="10"
                                BorderBrush="Gray"
                                Background="{TemplateBinding Background}">
                                <StackPanel HorizontalAlignment="Center">
                                    <Image Width="30" Height="30" Source="{TemplateBinding Icon}"/>
                                    <Label x:Name="txt" Visibility="Visible" BorderThickness="0"
                                       VerticalContentAlignment="Center"
                                       HorizontalAlignment="Left"
                                       FontSize="{TemplateBinding HeaderFontSize}"
                                       Content="{TemplateBinding Header}" ToolTip="{TemplateBinding Header}"
                                       Foreground="{TemplateBinding Foreground}" />
                                </StackPanel>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="BorderThickness" TargetName="templateRoot" Value="1,1,1,1"/>
                                    <Setter Property="BorderBrush" TargetName="templateRoot" Value="{StaticResource ButtonFontSelected}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Foreground" TargetName="txt" Value="{StaticResource ButtonFontSelected}"/>
                                    <Setter Property="Background" TargetName="templateRoot" Value="{StaticResource ButtonSelected}"/>
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid>
        <TabControl x:Name="tabLevel_1" 
                    Style="{StaticResource ControlStyle}"
                    ItemContainerStyle="{StaticResource tabItemStyle}" ItemsSource="{Binding Items}"
                    Style="{StaticResource ControlStyle}" ItemsSource="{Binding Items}"
                    SelectedItem="{Binding SelectedItem,Mode=TwoWay}"
                    SelectionChanged="tabLevel_1_SelectionChanged">
Resources/Font/iconfont.ttf
Binary files differ
Style/Colors.xaml
@@ -5,6 +5,7 @@
    <Brush x:Key="ChildBorder">#3692e1</Brush>
    <Brush x:Key="MainStatusBar">#1d6eb2</Brush>
    <Brush x:Key="SecondaryImportant">Orange</Brush>
    <Brush x:Key="Important">#e17933</Brush>
Style/CommonTree.xaml
New file
@@ -0,0 +1,51 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:hc="https://handyorg.github.io/handycontrol"
                    >
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
        <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
    </ResourceDictionary.MergedDictionaries>
    <Style TargetType="TreeViewItem" BasedOn="{StaticResource TreeViewItemBaseStyle}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="TreeViewItem">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition MinHeight="{TemplateBinding MinHeight}"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <Border x:Name="Bd" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
                            <DockPanel LastChildFill="True" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
                                <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
                                <ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                            </DockPanel>
                        </Border>
                        <ItemsPresenter Grid.Row="1" x:Name="ItemsHost" />
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="true" SourceName="Bd">
                            <Setter Property="Background" TargetName="Bd" Value="{StaticResource SecondaryImportant}"/>
                        </Trigger>
                        <Trigger Property="IsExpanded" Value="false">
                            <Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/>
                        </Trigger>
                        <Trigger Property="HasItems" Value="false">
                            <Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
                        </Trigger>
                        <Trigger Property="IsSelected" Value="true">
                            <Setter Property="Background" TargetName="Bd" Value="{StaticResource Important}"/>
                            <Setter Property="Foreground" Value="{DynamicResource TextIconBrush}"/>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter Property="Opacity" Value=".4" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>
Style/ListViewStyle.xaml
@@ -18,8 +18,9 @@
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    <Border x:Name="Bd" MinHeight="30" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
                        <ContentPresenter x:Name="cp" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Border>
                    <ControlTemplate.Triggers>
                        <MultiTrigger>
@@ -43,6 +44,7 @@
                            </MultiTrigger.Conditions>
                            <Setter Property="Background" TargetName="Bd" Value="#e17933"/>
                            <Setter Property="BorderBrush" TargetName="Bd" Value="#e17933"/>
                            <Setter Property="TextElement.Foreground" TargetName="cp" Value="#FFF"/>
                        </MultiTrigger>
                        <Trigger Property="IsEnabled" Value="False">
Style/MainTab.xaml
@@ -1,5 +1,143 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    >
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
    </ResourceDictionary.MergedDictionaries>
    <Style x:Key="tabItemStyle" TargetType="TabItem">
        <Setter Property="Margin" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate x:Name="ct" TargetType="TabItem">
                    <Border x:Name="templateRoot" BorderThickness="0,0,0,3" Padding="3,3,3,0"
                    BorderBrush="Transparent">
                        <Label x:Name="txt" Visibility="Visible" BorderThickness="0"
                        VerticalContentAlignment="Center"
                        HorizontalAlignment="Left"
                        Content="{TemplateBinding Header}" ToolTip="{TemplateBinding Header}"
                        Foreground="{TemplateBinding Foreground}" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabControl}}, Path=TabStripPlacement}" Value="Left">
                            <Setter Property="BorderThickness" TargetName="templateRoot" Value="0,0,3,0"/>
                            <Setter Property="Padding" TargetName="templateRoot" Value="3,3,0,3"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabControl}}, Path=TabStripPlacement}" Value="Right">
                            <Setter Property="BorderThickness" TargetName="templateRoot" Value="3,0,0,0"/>
                            <Setter Property="Padding" TargetName="templateRoot" Value="0,3,3,3"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabControl}}, Path=TabStripPlacement}" Value="Right">
                            <Setter Property="BorderThickness" TargetName="templateRoot" Value="0,3,0,0"/>
                            <Setter Property="Padding" TargetName="templateRoot" Value="3,0,3,3"/>
                        </DataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/>
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Foreground" TargetName="txt" Value="{StaticResource SecondaryImportant}"/>
                        </MultiDataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/>
                            </MultiDataTrigger.Conditions>
                            <Setter Property="BorderBrush" TargetName="templateRoot" Value="{StaticResource Important}"/>
                            <Setter Property="Foreground" TargetName="txt" Value="{StaticResource Important}"/>
                        </MultiDataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="ControlStyle" TargetType="{x:Type TabControl}">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="ItemContainerStyle" Value="{StaticResource tabItemStyle}"/>
        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabControl}">
                    <Grid x:Name="templateRoot" ClipToBounds="True" SnapsToDevicePixels="True" KeyboardNavigation.TabNavigation="Local">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition x:Name="ColumnDefinition0" />
                            <ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition x:Name="RowDefinition0" Height="Auto"/>
                            <RowDefinition x:Name="RowDefinition1" Height="*"/>
                        </Grid.RowDefinitions>
                        <ScrollViewer Grid.Row="0" Grid.Column="0"
                                  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" >
                            <StackPanel x:Name="HeaderPanel" Orientation="Horizontal"
                            ScrollViewer.HorizontalScrollBarVisibility="Auto"
                            IsItemsHost="True"
                            Background="White"
                            Margin="0" KeyboardNavigation.TabIndex="1"
                            Panel.ZIndex="1"/>
                        </ScrollViewer>
                        <!--<Line X1="0" X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
          Stroke="Transparent" StrokeThickness="0.1"
          VerticalAlignment="Bottom" Margin="0" SnapsToDevicePixels="True"/>-->
                        <Border x:Name="ContentPanel" BorderBrush="{TemplateBinding BorderBrush}"
            BorderThickness="{TemplateBinding BorderThickness}"
            Background="{TemplateBinding Background}"
            Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained"
                                Grid.Row="1" KeyboardNavigation.TabIndex="2"
                                KeyboardNavigation.TabNavigation="Local">
                            <ContentPresenter x:Name="PART_SelectedContentHost"
                          ContentTemplate="{TemplateBinding SelectedContentTemplate}"
                          Content="{TemplateBinding SelectedContent}"
                          ContentStringFormat="{TemplateBinding SelectedContentStringFormat}"
                          ContentSource="SelectedContent" Margin="0"
                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                        </Border>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="TabStripPlacement" Value="Bottom">
                            <Setter Property="Grid.Row" TargetName="HeaderPanel" Value="1"/>
                            <Setter Property="Grid.Row" TargetName="ContentPanel" Value="0"/>
                            <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
                            <Setter Property="Height" TargetName="RowDefinition1" Value="Auto"/>
                            <Setter Property="Orientation" TargetName="HeaderPanel" Value="Horizontal"/>
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Left">
                            <Setter Property="Grid.Row" TargetName="HeaderPanel" Value="0"/>
                            <Setter Property="Grid.Row" TargetName="ContentPanel" Value="0"/>
                            <Setter Property="Grid.Column" TargetName="HeaderPanel" Value="0"/>
                            <Setter Property="Grid.Column" TargetName="ContentPanel" Value="1"/>
                            <Setter Property="Width" TargetName="ColumnDefinition0" Value="Auto"/>
                            <Setter Property="Width" TargetName="ColumnDefinition1" Value="*"/>
                            <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
                            <Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
                            <Setter Property="Orientation" TargetName="HeaderPanel" Value="Vertical"/>
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Right">
                            <Setter Property="Grid.Row" TargetName="HeaderPanel" Value="0"/>
                            <Setter Property="Grid.Row" TargetName="ContentPanel" Value="0"/>
                            <Setter Property="Grid.Column" TargetName="HeaderPanel" Value="1"/>
                            <Setter Property="Grid.Column" TargetName="ContentPanel" Value="0"/>
                            <Setter Property="Width" TargetName="ColumnDefinition0" Value="*"/>
                            <Setter Property="Width" TargetName="ColumnDefinition1" Value="Auto"/>
                            <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
                            <Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
                            <Setter Property="Orientation" TargetName="HeaderPanel" Value="Vertical"/>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>
UI/StepSetting.xaml
@@ -12,11 +12,13 @@
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/MainTab.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <Style TargetType="Label"></Style>
            <Style TargetType="ListView"></Style>
            <Style TargetType="TabControl"/>
            <Color x:Key="DarkPrimaryColor">#e17933</Color>
            <Color x:Key="PrimaryColor">#e17933</Color>
@@ -27,7 +29,7 @@
    </UserControl.Resources>
    
    <Grid>
        <TabControl TabStripPlacement="Left">
        <TabControl Style="{StaticResource ControlStyle}" TabStripPlacement="Left">
            <TabItem Header="函数列表">
            </TabItem>
            <TabItem Header="变量列表">
UI/Test/FunctionSetting.xaml
@@ -1,34 +1,62 @@
<UserControl x:Class="WPFProject.UI.Test.FunctionSetting"
             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:WPFProject.UI.Test"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <Style TargetType="Label"></Style>
            <Style TargetType="ListView"></Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid>
        <TabControl>
            <TabItem Header="函数列表">
                <TreeView>
                    <TreeViewItem></TreeViewItem>
                </TreeView>
            </TabItem>
            <TabItem Header="变量列表">
            </TabItem>
        </TabControl>
    </Grid>
</UserControl>
<UserControl x:Class="WPFProject.UI.Test.FunctionSetting"
             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:WPFProject.UI.Test"
             xmlns:hc="https://handyorg.github.io/handycontrol"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/CommonTree.xaml"/>
                <ResourceDictionary Source="/WPFProject;component/Style/MainTab.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <Style TargetType="Label"/>
            <Style TargetType="TabControl"/>
            <Style TargetType="TreeView">
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid>
        <TabControl Style="{StaticResource ControlStyle}">
            <TabItem Header="函数列表">
                <StackPanel>
                    <hc:SearchBar hc:InfoElement.Placeholder="输入文本查询"  Style="{StaticResource SearchBarPlus}" Margin="10,5,10,5"/>
                    <TreeView BorderThickness="0" >
                        <TreeViewItem Header="111">
                            <TreeViewItem Header="111">
                                <TreeViewItem Header="999"/>
                            </TreeViewItem>
                            <TreeViewItem Header="222"/>
                            <TreeViewItem Header="333"/>
                        </TreeViewItem>
                        <TreeViewItem Header="222">
                            <TreeViewItem Header="111"/>
                            <TreeViewItem Header="222"/>
                            <TreeViewItem Header="333"/>
                        </TreeViewItem>
                    </TreeView>
                </StackPanel>
            </TabItem>
            <TabItem Header="变量列表">
            </TabItem>
        </TabControl>
    </Grid>
</UserControl>
UI/Test/ProgramList.xaml
@@ -20,10 +20,12 @@
    </UserControl.Resources>
    
    <Grid>
        <ListView ItemsSource="{Binding Programs}" ItemContainerStyle="{StaticResource a}" SelectionChanged="ListView_SelectionChanged">
        <ListView ItemsSource="{Binding Programs}" ItemContainerStyle="{StaticResource a}"
                  VerticalContentAlignment="Center"
                  SelectionChanged="ListView_SelectionChanged">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Label Content="{Binding Name}"/>
                    <ContentControl Content="{Binding Name}"/>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
UI/Test/SequnceList.xaml
@@ -36,7 +36,7 @@
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Label Content="{Binding Name}"/>
                    <ContentControl Content="{Binding Name}"/>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
@@ -48,9 +48,11 @@
                <RowDefinition Height="30"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Label Content="测试流程"></Label>
            <Label Content="测试流程" VerticalContentAlignment="Center"/>
            <DataGrid x:Name="dataGrid" AutoGenerateColumns="False" FrozenColumnCount="1" Background="#FFF" Grid.Row="1" ItemsSource="{Binding Steps}">
            <DataGrid x:Name="dataGrid" AutoGenerateColumns="False" FrozenColumnCount="1" Background="#FFF" Grid.Row="1"
                      BorderThickness="0"
                      ItemsSource="{Binding Steps}">
                <DataGrid.Columns>
                    <DataGridTextColumn IsReadOnly="True" Width="80" CanUserResize="False" Binding="{Binding Index}" Header="序号"/>
WPFProject.csproj
@@ -203,6 +203,10 @@
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Style\CommonTree.xaml">
      <Generator>MSBuild:Compile</Generator>
      <SubType>Designer</SubType>
    </Page>
    <Page Include="Style\MainTab.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>