WPF 中的 GridSplitter 详解

1. 什么是 GridSplitter?

GridSplitter 是 WPF 提供的一个控件,用于调整 Grid 布局的行或列的大小。它可以让用户在运行时拖动分隔线,以改变相邻的行或列的大小,而不需要修改 XAML 代码。


2. GridSplitter 的基本用法

(1)水平分割(调整行高度)

如果希望 GridSplitter水平方向 调整行的大小,必须将其放在一行,并确保该行的 Height 设为 Auto,这样 GridSplitter 才能自由调整。

解释:

  • GridSplitter 放在 第二行Grid.Row="1")。

  • Height="5" 设定分割线的厚度。

  • HorizontalAlignment="Stretch"GridSplitter 占满网格的宽度。


(2)垂直分割(调整列宽度)

如果希望 GridSplitter垂直方向 调整列的大小,必须将其放在一列,并确保该列的 Width 设为 Auto

解释:

  • GridSplitter 放在 第二列Grid.Column="1")。

  • Width="5" 设定分割线的厚度。

  • VerticalAlignment="Stretch"GridSplitter 占满网格的高度。


3. GridSplitter 的属性

(1)主要属性

属性说明
Width / Height控制 GridSplitter 的厚度(水平或垂直)。
Background设定 GridSplitter 的背景颜色,方便用户看到。
HorizontalAlignment适用于 水平 GridSplitter,通常设为 Stretch
VerticalAlignment适用于 垂直 GridSplitter,通常设为 Stretch
ResizeDirection控制调整 还是 ,默认为 Auto
ResizeBehavior控制如何调整大小,如 PreviousAndNext(默认)、PreviousNext
DragIncrement设置拖动时的最小步长,默认值为 1,单位是像素。

(2)ResizeDirection(调整方向)

选项说明
Auto(默认)自动检测 GridSplitter 的方向(垂直或水平)。
Columns只调整 列宽(适用于垂直 GridSplitter)。
Rows只调整 行高(适用于水平 GridSplitter)。

示例:

(3)ResizeBehavior(调整行为)

选项说明
PreviousAndNext(默认)调整 GridSplitter 前后 两侧的行或列。
Previous只调整 GridSplitter 前一行/列 的大小。
Next只调整 GridSplitter 后一行/列 的大小。

示例:


4. 进阶使用:结合 MinHeight / MinWidth

在调整大小时,可以限制最小高度或最小宽度,防止拖动过度导致 UI 变形。


5. 总结

功能方法
调整行高GridSplitter 放在 RowDefinition Height="Auto" 行内,Height="5"HorizontalAlignment="Stretch"
调整列宽GridSplitter 放在 ColumnDefinition Width="Auto" 列内,Width="5"VerticalAlignment="Stretch"
限制拖动范围设定 MinHeight / MinWidth 防止过度拖动。
控制调整方式使用 ResizeDirectionRows/Columns)和 ResizeBehaviorPreviousAndNext)。
设置拖动步长DragIncrement="10" 控制拖动时最小步长,提高调整体验。

GridSplitter 是 WPF 进行 动态 UI 布局 的重要工具,正确使用可以提升用户体验,使界面更加灵活。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39617.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025-03-24 学习记录--C/C++-PTA 习题7-6 统计大写辅音字母

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 习题7-6 统计大写辅音字母 英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给…

在vitepress中使用vue组建,然后引入到markdown

在 VitePress 中&#xff0c;每个 Markdown 文件都被编译成 HTML&#xff0c;而且将其作为 Vue 单文件组件处理。这意味着可以在 Markdown 中使用任何 Vue 功能&#xff0c;包括动态模板、使用 Vue 组件或通过添加 <script> 标签为页面的 Vue 组件添加逻辑。 值得注意的…

常见中间件漏洞之一 ----【Tomcat】

中间件Tomcat介绍&#xff1a; tomcat是⼀个开源⽽且免费的jsp服务器&#xff0c;默认端⼝ : 8080&#xff0c;属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载&#xff0c;是配置JSP&#xff08;Java Server Page&#xff09;和JAVA系统必备的⼀款环境。 在历史上也披露…

Spring Cloud之负载均衡之LoadBalance

目录 负载均衡 问题 步骤 现象 什么是负载均衡&#xff1f; 负载均衡的一些实现 服务端负载均衡 客户端负载均衡 使用Spring Cloud LoadBalance实现负载均衡 负载均衡策略 ​编辑 ​编辑LoadBalancer原理 服务部署 准备环境和数据 服务构建打包 启动服务 上传J…

量化研究--小果聚宽交易系统上线高速服务器,提供源代码

文章链接量化研究--小果聚宽交易系统上线高速服务器&#xff0c;提供源代码https://mp.weixin.qq.com/s/HecSeAvmaCyVCsPhvxA0xg 今天大家反应以前的服务器比较慢&#xff0c;与200多人在使用这个系统&#xff0c;反应比较慢&#xff0c;实时数据请求服务器&#xff0c;服务器还…

蓝桥杯python组备考2(b站课程笔记)超详细

语法进阶 一、列表推导式 想讲解一下示例4到示例7的代码&#xff1a; 4、循环n次生成n个零放进列表中&#xff0c;其实也就是相当于[0]*n&#xff08;列表乘法&#xff0c;将原来的列表循环n次产生一个新的列表&#xff09;&#xff0c;接着在循环n次产生n个这样的列表&#x…

【大模型LLM第十四篇】Agent学习之anthropic-quickstarts Agent

前言 对于anthropic api的快速使用&#xff0c;在github上有几个example Customer Support Agent&#xff1a;由 Claude 提供支持的客户支持代理。该项目演示了如何利用 Claude 的自然语言理解和生成功能来创建可访问知识库的 AI 辅助客户支持系统。Financial Data Analyst &…

用DrissionPage升级网易云音乐爬虫:更稳定高效地获取歌单音乐(附原码)

一、传统爬虫的痛点分析 原代码使用requests re的方案存在以下局限性&#xff1a; 动态内容缺失&#xff1a;无法获取JavaScript渲染后的页面内容 维护成本高&#xff1a;网页结构变化需频繁调整正则表达式 反爬易触发&#xff1a;简单请求头伪造容易被识别 资源消耗大&am…

2025年渗透测试面试题总结- PingCAP安全工程师(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 PingCAP安全工程师 一、SQL注入判断数据库类型技术分析 1. 常规判断方法 2. 盲注场景下的判断 3. 补…

【加密社】如何创建自己的币圈工具站

需要准备的工作 1.域名 2.服务器 周末的时候主要弄了快讯这方面的代码 我这里用的是星球日报的api&#xff0c;也可以订阅他们的rss&#xff0c;这部分在github上是开源的 https://github.com/ODAILY 我这里用的是WordPressonenav主题&#xff0c;然后用小工具在主页展示&am…

Oracle归档配置及检查

配置归档位置到 USE_DB_RECOVERY_FILE_DEST&#xff0c;并设置存储大小 startup mount; !mkdir /db/archivelog ALTER SYSTEM SET db_recovery_file_dest_size100G SCOPEBOTH; ALTER SYSTEM SET db_recovery_file_dest/db/archivelog SCOPEBOTH; ALTER SYSTEM SET log_archive…

Apache Hive:基于Hadoop的分布式数据仓库

Apache Hive 是一个基于 Apache Hadoop 构建的开源分布式数据仓库系统&#xff0c;支持使用 SQL 执行 PB 级大规模数据分析与查询。 主要功能 Apache Hive 提供的主要功能如下。 HiveServer2 HiveServer2 服务用于支持接收客户端连接和查询请求。 HiveServer2 支持多客户端…

FPGA_DDS_IP核

接下来对FPGA的DDS的ip核进行学习。 首先对DDS需要有些了解 DDS信号发生器采用直接数字频率合成&#xff08;Direct Digital Synthesis&#xff0c;简称DDS&#xff09;技术&#xff0c;简单来说就是 需要一个系统频率和一个输入的数字数据 &#xff0c;用这个系统频率计算出…

欢迎来到未来:探索 Dify 开源大语言模型应用开发平台

欢迎来到未来&#xff1a;探索 Dify 开源大语言模型应用开发平台 如果你对 AI 世界有所耳闻&#xff0c;那么你一定听说过大语言模型&#xff08;LLM&#xff09;。这些智能巨兽能够生成文本、回答问题、甚至编写代码&#xff01;但是&#xff0c;如何将它们变成真正的实用工具…

计算机工具基础(七)——Git

Git 本系列博客为《Missing in CS Class(2020)》课程笔记 Git是一种分布式版本控制系统&#xff0c;被其跟踪的文件可被查询精细到行的修改记录、回退版本、建立分支等 模型 一般流程&#xff1a;工作区 → \to →暂存区 → \to →仓库(本地 → \to →远端) 工作区&#xff1…

uniapp动态循环表单校验失败:初始值校验

问题现象 &#x1f4a5; 在实现动态增减的单价输入表单时&#xff08;基于uv-form组件&#xff09;&#xff0c;遇到以下诡异现象&#xff1a; <uv-input>的v-model绑定初始值为数字类型时&#xff0c;required规则失效 ❌数字类型与字符串类型校验表现不一致 &#x1…

前端框架学习路径与注意事项

学习前端框架是一个系统化的过程&#xff0c;需要结合理论、实践和工具链的综合掌握。以下是学习路径的关键方面和注意事项&#xff1a; 一、学习路径的核心方面 1. 基础概念与核心思想 组件化开发&#xff1a;理解组件的作用&#xff08;复用性、隔离性&#xff09;、组件通信…

【Python机器学习】3.5. 决策树实战:基于Iris数据集

喜欢的话别忘了点赞、收藏加关注哦&#xff08;关注即可查看全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 本文紧承 3.1. 决策树理论(基础) 和 3.2. 决策树理论(进阶)&#xff0c;没看过的建议先看理论分…

Unity2022发布Webgl2微信小游戏部分真机黑屏

复现规律&#xff1a; Unity PlayerSetting中取消勾选ShowSplashScreen 分析&#xff1a; 在Unity中&#xff0c;Splash Screen&#xff08;启动画面&#xff09; 不仅是视觉上的加载动画&#xff0c;还承担了关键的引擎初始化、资源预加载和渲染环境准备等底层逻辑。禁用后导…

docker desktop 集成WSL Ubuntu22.04

Windows docker desktop 设置WSL ubuntu 22.04启用与其他发行版的集成 Windows docker desktop 安装参考 wsl ubuntu 22.04 查看我宿主机的docker desktop 容器全部的信息 wsl -d Ubuntu-22.04 -u root