优化桌面端折叠菜单

This commit is contained in:
geht
2026-05-14 16:05:22 +08:00
parent 0342fdee2a
commit 379cc47e47
3 changed files with 108 additions and 9 deletions

View File

@@ -145,12 +145,34 @@
<Grid x:Name="MainContentGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition
x:Name="LeftMenuTreeCol"
Width="250"
MinWidth="50"
MaxWidth="{Binding ActualWidth, ElementName=MainContentGrid, Converter={StaticResource MaxWidthConverter}, ConverterParameter=50}"/>
<ColumnDefinition Width="4"/>
<ColumnDefinition x:Name="LeftMenuTreeCol">
<ColumnDefinition.Style>
<Style TargetType="ColumnDefinition">
<Setter Property="Width" Value="250"/>
<Setter Property="MinWidth" Value="50"/>
<Setter Property="MaxWidth" Value="{Binding ActualWidth, ElementName=MainContentGrid, Converter={StaticResource MaxWidthConverter}, ConverterParameter=50}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMenuTreePanelCollapsed}" Value="True">
<Setter Property="Width" Value="0"/>
<Setter Property="MinWidth" Value="0"/>
<Setter Property="MaxWidth" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ColumnDefinition.Style>
</ColumnDefinition>
<ColumnDefinition>
<ColumnDefinition.Style>
<Style TargetType="ColumnDefinition">
<Setter Property="Width" Value="4"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMenuTreePanelCollapsed}" Value="True">
<Setter Property="Width" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ColumnDefinition.Style>
</ColumnDefinition>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- Sidebar侧边栏区域 -->
@@ -159,6 +181,16 @@
BorderThickness="0,0,1,0"
BorderBrush="{DynamicResource BorderBrush}"
Background="{DynamicResource RegionBrush}">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMenuTreePanelCollapsed}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<ContentControl prism:RegionManager.RegionName="{x:Static consts:CommonConst.MenuRegion}"/>
</Border>
<!-- 拖拽分隔条 -->
@@ -170,7 +202,18 @@
ShowsPreview="True"
Cursor="SizeWE"
Background="{DynamicResource RegionBrush}"
PreviewStyle="{StaticResource GridSplitterPreviewStyle}"/>
PreviewStyle="{StaticResource GridSplitterPreviewStyle}">
<GridSplitter.Style>
<Style TargetType="GridSplitter">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMenuTreePanelCollapsed}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GridSplitter.Style>
</GridSplitter>
<!-- 主内容区域 -->
<Border
Grid.Column="2"