一、目的:推荐一个支持折叠展开的GridSpliter自定义控件GridSplitterBox
二、效果
实现功能:设置菜单显示位置,最小宽度,最大宽度,位置持久化保存
三、环境
VS2022 Net7
四、使用方式
1、安装nuget包:H.Controls.FilterColumnDataGrid
2、添加控件
XML
<h:GridSplitterBox>
<Border>
<Grid Background="Red">
<TextBlock FontSize="100" Text="Center" />
</Grid>
</Border>
<h:GridSplitterBox.MenuContent>
<Border Background="Yellow">
<TextBlock FontSize="100" Text="Menu" />
</Border>
</h:GridSplitterBox.MenuContent>
</h:GridSplitterBox>
其他样式
Style="{DynamicResource {x:Static h:GridSplitterBox.RightKey}}"
Style="{DynamicResource {x:Static h:GridSplitterBox.TopKey}}"
Style="{DynamicResource {x:Static h:GridSplitterBox.BottomKey}}"
基于此控件做的左侧菜单SlideMenu效果演示
五、需要了解的知识点
GridSplitter 类 (System.Windows.Controls) | Microsoft Learn
System.Windows.Controls 命名空间 | Microsoft Learn
六、源码地址
GitHub - HeBianGu/WPF-ControlDemo: 示例
GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库
GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库