From 1afe548ac40cc7f975917ef9bf2e156595cf81f3 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 16 四月 2026 08:58:04 +0800
Subject: [PATCH] 优化;
---
WPFProject/Controls/MenuTabControl.xaml | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 101 insertions(+), 8 deletions(-)
diff --git a/WPFProject/Controls/MenuTabControl.xaml b/WPFProject/Controls/MenuTabControl.xaml
index b9a6ce9..3b42b64 100644
--- a/WPFProject/Controls/MenuTabControl.xaml
+++ b/WPFProject/Controls/MenuTabControl.xaml
@@ -11,7 +11,7 @@
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
- <ResourceDictionary Source="/WPFProject;component/Style/colors.xaml"/>
+ <ResourceDictionary Source="/HMI.UI;component/Style/Colors.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="tabItemStyle" TargetType="{x:Type ctl:IconTabItem}">
@@ -58,6 +58,88 @@
</Setter>
</Style>
+ <Style x:Key="SubControlStyle" 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>
+ <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>
+ <!--<UniformGrid x:Name="HeaderPanel" Rows="1" Background="Transparent" Grid.Column="0" IsItemsHost="True" Margin="0" Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/>-->
+ <ScrollViewer Visibility="{Binding ShowMenu}" Grid.Row="0" Grid.Column="0" VerticalScrollBarVisibility="Auto"
+ HorizontalScrollBarVisibility="Auto" >
+ <StackPanel Orientation="Horizontal" x:Name="HeaderPanel"
+ ScrollViewer.HorizontalScrollBarVisibility="Auto"
+ IsItemsHost="True"
+ Margin="0" KeyboardNavigation.TabIndex="1"
+ Background="{StaticResource MainMenu}"
+ 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"/>
+ </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"/>
+ </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"/>
+ </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>
+
<Style x:Key="ControlStyle" TargetType="{x:Type TabControl}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent"/>
@@ -94,12 +176,21 @@
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}"/>
+
+ <TabControl x:Name="contentTab"
+ Style="{StaticResource SubControlStyle}"
+ ItemsSource="{Binding TabSelectedItem.Children,Mode=TwoWay}">
+
+
+ </TabControl>
+
+ <!--<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>
@@ -142,10 +233,12 @@
<Grid>
<TabControl x:Name="tabLevel_1"
+ Grid.Row="0"
Style="{StaticResource ControlStyle}" ItemsSource="{Binding Items}"
- SelectedItem="{Binding SelectedItem,Mode=TwoWay}"
+ SelectedItem="{Binding TabSelectedItem,Mode=TwoWay}"
SelectionChanged="tabLevel_1_SelectionChanged">
</TabControl>
+
</Grid>
</UserControl>
--
Gitblit v1.9.1