WindowChrome使用之最大化窗口拖动失败

背景:今天遇到一个奇怪的问题,窗口最大化之后,从屏幕外开始手指移动到窗口标题栏,窗口不跟随手指移动。
对WindowChrome并不是很了解,查了查文档,知道了WindowChrome是什么,怎么使用。
官方文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.shell.windowchrome?view=windowsdesktop-8.0
大佬博客:https://www.cnblogs.com/choumengqizhigou/p/15739993.html

我的问题是怎么解决的呢,是通过设置 ResizeBorderThickness属性,
ResizeBorderThickness :用于调整窗口大小的边框宽度,定义了窗口边缘的厚度,以便进行调整大小操作。

好了直接上代码。
xaml

    <WindowChrome.WindowChrome>
        <WindowChrome GlassFrameThickness="0,1,0,0"
            CaptionHeight="30"                                        
            CornerRadius="5"                              
            NonClientFrameEdges="None"                            
            UseAeroCaptionButtons="False"
            />
    </WindowChrome.WindowChrome>

后台代码

 private void Window_StateChanged(object sender, EventArgs e)
 {
	 		if (WindowState == WindowState.Maximized)
            {
                WindowChrome.SetWindowChrome(this, new WindowChrome { ResizeBorderThickness = new Thickness(0) });
            }
            else
            {
                WindowChrome.SetWindowChrome(this, new WindowChrome { ResizeBorderThickness = new Thickness(6) });
            }
 }

最大化通过将ResizeBorderThickness 设置为零来隐藏边框,正常状态下将其恢复。
代码很简单,但是找到问题花费了我半天的时间,特此记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值