栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

WPF 内置 BUG 之:ResizeMode 和 窗体尺寸

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WPF 内置 BUG 之:ResizeMode 和 窗体尺寸

▪ 前言

在用 .Net 4.0 开发 WPF 软件时,我们可能需要禁用或者隐藏窗口右上角的 最小化、最大化或关闭 按钮(当然同时可能也伴随着需要固定窗口尺寸的要求)。

好在 WPF 已经为我们提供了非常方便的方法,利用 Window 标签的 ResizeMode 属性,我们可以按需设置自己想要的效果:



  • ResizeMode="NoResize" 隐藏 最小化 和 最大化 按钮,显示 关闭 按钮(同时能固定窗口尺寸)
  • ResizeMode="CanMinimize" 显示 最小化 和 关闭 按钮,禁用 最大化 按钮(同时能固定窗口尺寸)
▪ 重现 BUG

上面的代码中你可能很难察觉出哪里有BUG,那么我们修改一下代码,将 ResizeMode 的实现放到 C# 的窗口代码里:

# xaml

    

# cs
private void Button_Click( object sender, RoutedEventArgs e )
{
    this.ResizeMode = ResizeMode.CanMinimize;
}

将上面的代码在 VS 里面编译启动,然后关闭软件。

接着进入项目所在的文件夹,在 bin/Debug/ 下双击 exe 文件打开软件,然后点击按钮 “禁用最大化”,此时你会发现最大化按钮禁用了,但是窗口的尺寸好像改变了:

在上图中,我们可以很明显看到禁用最大化按钮后的窗口尺寸变大了,而且标题栏高度变小了。

结论:启用了 ResizeMode="NoResize"、ResizeMode="CanMinimize" 等属性值后,窗口标题栏高度减少,窗口尺寸增大

▪ 解决方法

以上的 BUG 目前测试过来发生在 .Net 4.0 版本,升级到 4.5 即可解决该BUG

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号