相关文章推荐
打酱油的稀饭  ·  ConvertFrom-Json ...·  10 月前    · 
朝气蓬勃的豆腐  ·  出版刊物和会议-北航国际前沿交叉科学研究院·  11 月前    · 
微醺的匕首  ·  7.2-03 ...·  1 年前    · 
潇洒的茶壶  ·  vb中ShellExecute函数返回值=4 ...·  1 年前    · 
飞翔的水煮鱼  ·  android基础控件(一)选项卡的实现 - 知乎·  1 年前    · 
Code  ›  WPF 按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响开发者社区
按钮 标题栏 wpf xmlns
https://cloud.tencent.com/developer/article/1763388
鼻子大的肉夹馍
1 年前
作者头像
林德熙
0 篇文章

WPF 按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 林德熙的博客 > WPF 按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

WPF 按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

作者头像
林德熙
发布 于 2020-12-21 09:43:21
954 0
发布 于 2020-12-21 09:43:21
举报

在 WPF 里面,默认标题栏的交互相对复杂,如按钮没有设置 WindowChrome.IsHitTestVisibleInChrome 属性为 True 那按钮是拿不到点击事件的。本文来告诉大家按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

在 WPF 中的默认交互是点击标题栏的时候,如果是双击标题栏,那么将会进入最大化窗口。而如果在标题栏放一个按钮,此时按钮默认是没有收到点击的,详细请看 WPF 非客户区的触摸和鼠标点击响应

如果想要让按钮能收到点击,需要使用 WPF 非客户区的触摸和鼠标点击响应 的方法,让 WPF 的按钮加上 WindowChrome.IsHitTestVisibleInChrome 属性

此时点击按钮的时候,如果是在标题栏的地方,是让按钮收到点击。此时双击标题栏的按钮不会让窗口最大化,但如果此时的按钮设置 IsEnabled=”False” 那么此时双击将依然让窗口最大化

而有趣的是如果在按钮 A 设置了 WindowChrome.IsHitTestVisibleInChrome 属性为 True 同时 IsEnabled=”True” 然后在按钮 A 上方再放一个按钮 B 设置 IsEnabled=”False” 那么此时双击将依然让窗口最大化

<Window x:Class="BeehijemwaboHaihafobe.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:BeehijemwaboHaihafobe"
        mc:Ignorable="d"
        Title="MainWindow" WindowStyle="None" Height="450" Width="800">
  <WindowChrome.WindowChrome>
    <WindowChrome CaptionHeight="20" />
  </WindowChrome.WindowChrome>
    <Grid.ColumnDefinitions>
      <ColumnDefinition />
 
推荐文章
打酱油的稀饭  ·  ConvertFrom-Json (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn
10 月前
朝气蓬勃的豆腐  ·  出版刊物和会议-北航国际前沿交叉科学研究院
11 月前
微醺的匕首  ·  7.2-03 讲解自我介绍和面试流程-千锋软件测试教程:7.10.cp命令使用_1(上)-网易公开课
1 年前
潇洒的茶壶  ·  vb中ShellExecute函数返回值=42是什么含意
1 年前
飞翔的水煮鱼  ·  android基础控件(一)选项卡的实现 - 知乎
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号