首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WPF 一个空的 WPF 程序有多少个窗口

    好多小伙伴说 WPF程序有五个窗口,但是我尝试使用了 EnumThreadWindows 去获取的时候居然拿到了 10 多个窗口WPF 内部的5个窗口之 MediaContextNotificationWindow...听说有五个窗口 可以通过 user32 的 EnumThreadWindows 找到一个线程的窗口 delegate bool EnumThreadDelegate(IntPtr hWnd...dwThreadId, EnumThreadDelegate lpfn, IntPtr lParam); 获取线程的 id 的方法需要先获取进程,在 Loaded 之后尝试获取 WPF...,但是如果将代码移动到 WPF 的构造函数,会发现只有两个窗口 public MainWindow() { var handleList = EnumerateProcessWindowHandles...内部的5个窗口之 MediaContextNotificationWindow ---- 本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/WPF

    67520

    2020-5-22-如何使WPF窗口外部区域可拖动缩放

    今天来和大家聊如何使WPF窗口外部区域可拖动缩放。 ---- 问题来源 对于WPF窗口来说,默认的可拖动缩放区域较小。 在某些应用场景下我们期望能够设置一个较大的可拖动的缩放区域。...,而在外部依然不可以进行拖动缩放 image.png 添加外部窗口 想要在WPF窗口外部能够拖动缩放,问题的关键就在于如何能在外部收到鼠标点击拖动等消息。...这个行为有很多实现方法,最简单的一种是,让辅助窗口假装自己是主窗口客户区。 听着很复杂,实际做起来很简单,就是在辅助窗口被点击时,给主窗口发一个客户区被点击的win消息。...于是主窗口就傻傻的以为自己左侧客户区的border被点中了,就进入了拖拽缩放的行为。...WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True) - walterlv 关键代码如下 //设置窗口客户区大小为0 ResizeMode

    1.8K10

    WPF 程序鼠标在窗口之外的时候,控件拿到的鼠标位置在哪里?

    WPF 程序中,我们有 Mouse.GetPosition(IInputElement relativeTo) 方法可以拿到鼠标当前相对于某个 WPF 控件的位置,也可以通过在 MouseMove...---- 可用于演示的 DEMO 直接使用 Visual Studio 2019 创建一个空的 WPF 应用程序。默认 .NET Core 版本的 WPF 会带一个文本框和一个按钮。...如果不知道客户区是什么,可以阅读下面我的另一篇博客: WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) 在以上图中,我拖动改变了窗口的位置...验证这一点,我们把窗口移动到屏幕的左上角后,将鼠标移出客户区,左上角的控件其获取到的鼠标位置已经变成了 (0, 31),而这个是窗口标题栏客户区的高度。...如果此方法成功,将返回零的坐标值;如果失败,将返回 0。 而鼠标在窗口客户区之外的时候,此方法将返回 0,并且经过后面的 ToPoint() 方法转换到控件的坐标下。

    59940

    CreateProcess时不显示或者不创建窗口 (或用虚拟桌面实现后台调用外部程序

    =============================================================================== 【用虚拟桌面实现后台调用外部程序】 最近需要实现一个无线通信的功能...这样就需要我在程序里调用他的这个EXE可执行文件。...实在没办法,我想在打开的时候不让用户看到这个执行文件:首先调用FINDWINDOW来查找窗口的句柄,之后再用SendMessage()来隐藏窗口,但是还是会有一瞬主窗口被显示出来的,或许你会说我BT吧,...Application.MessageBox('Error', 'Error', $10); Exit; end; end; 再用FindWindow去找程序的主窗口...好了,这样就几乎完美的实现了一个后台调用程序的功能,它对最终客户来说将是完全透明的,客户根本感觉不到后台还有另一个程序在工作。

    3.9K30

    WPF面试题-来自ChatGPT的解答

    这意味着资源可以在不同的窗口、页面或用户控件中共享和重用。 层级结构:WPF资源支持层级结构,可以在应用程序级别、窗口级别、页面级别或元素级别定义和使用。...在WPF应用程序中,Page和Window是两种不同的UI元素,它们有以下区别: 用途:Window用于创建独立的顶级窗口,通常用作应用程序的主窗口。它可以包含其他UI元素,如面板、控件等。...Dispatcher对象的主要用途如下: 跨线程访问UI元素:在多线程应用程序中,如果一个UI线程需要访问或修改UI元素,就会引发线程访问错误。...在WPF中,UI元素只能由UI线程进行访问和修改,如果在UI线程上尝试访问或修改UI元素,会导致线程安全问题。...外观:ContentControl本身没有特定的外观,它的外观通常由其外部样式或模板定义。

    37430

    Windows wpf(下载应用介绍教程)

    一、窗体类基本概念     对于WPF应用程序,在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类。...用户通过窗口与 Windows Presentation Foundation (WPF) 独立应用程序进行交互。 窗口的主要用途是承载可视化数据并使用户可以与数据进行交互的内容。...独立 WPF 应用程序使用 Window 类来提供它们自己的窗口。在 WPF 中,可以使用代码或 XAML 标记来实现窗口的外观和行为。...显示窗体 构造函数 Show()、ShowDialog()方法:Show()方法显示模态窗口,这意味着应用程序所运行的模式允许用户在同一个应用程序中激活其他窗口。...记住这一点,在引发 ContentRendered 时,便可认为窗口已打开。      窗口变为活动窗口之后,用户可以在同一个应用程序中激活其他窗口,还可以激活其他应用程序

    1.2K20

    dotnet 从入门到放弃的 500 篇文章合集

    c-70 c-设计模式-责任链 cant found Microsoft.VSSDK.BuildTools.15.0.26201 C# 6.0 字符串 String Interpolation C#...使用 Direct2D1 画图 绘制基本图形 WPF 使用 Direct2D1 画图 wpf 使用 Dispatcher.Invoke 冻结窗口 WPF 使用 SharpDX 在 D3DImage 显示...控件 WPF 修改按钮按下的颜色 WPF 写系统日志 WPF 判断调用方法堆栈 wpf 单例 WPF 只允许打开一个实例 WPF 可获得焦点属性 WPF 在 Alt+Tab 隐藏窗口 WPF 好看的矢量图标...WPF 拼音输入法 WPF 控件继承树 WPF 提高性能 WPF 播放 gif WPF 渲染级别 WPF 省市县3级联动 WPF 禁用实时触摸 WPF 程序生成类库错误 WPF 等距布局 wpf 绑定...ViewBox 不显示线的问题 WPF 解决 xaml 设计显示异常 WPF 解决弹出模态窗口关闭后,主窗口不在最前 WPF 设置纯软件渲染 WPF 设置输入只能英文 WPF 调试 获得追踪输出 WPF

    10.4K20

    WPF 客户区的触摸和鼠标点击响应

    默认在 WPF 里面是不响应客户区的鼠标事件,但响应触摸事件 在没有喝下午茶的时候 lsj 告诉我,在项目里面在一个定制的窗口里面的客户区用鼠标点击不了一个按钮,但是用触摸可以点击按钮。...在本文开始之前,需要大家知道客户区 Non-client Area 的概念,其实就是窗口标题栏大概的意思,详细请看 一起学WPF系列(3):窗体 - Robin Zhang - 博客园 和 WPF...使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) - walterlv 敲黑板,下面的知识点要考 默认的 WPF 程序支持在客户区响应 Touch...触摸,但不响应鼠标点击和 Pointer 触摸 如果需要在客户区也就是窗口标题栏支持鼠标点击,那么请在按钮添加附加属性 WindowChrome.IsHitTestVisibleInChrome 为...现在 lsj 正在看 WPF 的源代码,想要找到是如何让标题栏支持触摸但是不支持鼠标点击 在 WPF 下,可以在客户区的触摸拖动的时候,同时触发触摸拖动和窗口拖动。

    1.3K20

    WPF 已知问题 开启 WM_Pointer 消息之后 获取副屏触摸数据坐标偏移

    本文记录 WPF 触摸的一个已知问题,仅在开启 WM_Pointer 消息之后,将应用程序运行在包含多个屏幕的带触摸屏的设备上,如此时在主屏幕的触摸屏上进行触摸,使用 GetStylusPoint 或...,此问题要求运行在多个屏幕上,且触摸到主屏幕上。...程序,按照 WPF dotnet core 如何开启 Pointer 消息的支持 博客提供的方法开启 WM_Pointer 消息 在 MainWindow 放入 InkCanvas 控件 准备好环境,...运行程序,将程序的主窗口移动到副屏上,对应用程序进行触摸 此时你将会发现应用程序无法绘制出你所画出的笔迹。...且所偏差的坐标差值刚好是整个屏幕距离,如果刚好你的两个屏幕的虚拟尺寸(物理尺寸)是一样大的,那这个偏差就更好看出来了,如下图 问题原因: 此问题是在 WPF 框架中的 HwndPointerInputProvider.cs

    29010

    WPF事件绑定和解绑

    前言 WPF中事件的绑定和解绑放在什么生命周期中比较合适呢? 窗口WPF 中,窗口(Window)是一种特殊的控件,其生命周期也包括了一系列的事件,你可以在这些事件中进行事件的绑定和解绑。...控件 在 WPF(Windows Presentation Foundation)开发中,通常在控件的生命周期方法中进行事件的绑定和解绑是比较合理的。...): 如果你使用了 MVVM 模式,你可以在自定义的附加行为中实现事件的绑定和解绑逻辑。...如果在 Lambda 表达式中捕获了外部的引用(比如一个对象实例),而这个 Lambda 表达式又被长时间保持,这可能会导致对象无法被垃圾回收,从而间接导致内存泄漏。...); myButton.Click += (sender, e) => _someObject.DoSomething(); } } 在这个例子中,Lambda 表达式捕获了外部

    52540

    WPF 很少人知道的科技

    WPF 框架的版本,如果希望在 WPF 程序中使用,可以参考: Sakuno.Base/ConcatenatedCollectionView`T.cs at master · KodamaSakuno...使用 ConditionalWeakTable 做 WPF 版本的缓存 如果你有一些 WPF 的对象需要做类似 WPF 那种附加属性,那么可以考虑使用 ConditionalWeakTable 来实现...如果要将 WPF 模拟得很像 UWP,可以参考我的这两篇博客: WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) WPF 应用完全模拟...当然如果你的程序非常小,那么模拟一下也不会伤害太多性能: 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!...在 Windows 10 上为 WPF 窗口添加模糊特效 然而充分利用 Fluent Design 的高性能,需要上 XAML Islands,详见: [Using the UWP XAML hosting

    27820

    WPF基础之资源

    WPF资源 WPF资源系统是一种保管一系列对象(如常用的画刷、样式或模版)的简单办法,从而使您更容易地复用这些对象。...WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件、窗口一起定义,或在整个应用程序中定义)。资源具有如下优点。 高效。定义好资源可以在多个地方复用。 可维护性。易于修改。 适应性。...]; brush.Viewport = new Rect(0,0,5,5); 上述代码从Window.Resources中检索画刷,并改变画刷平铺的尺寸,缩小笑脸图像并压缩图像模式使其更加紧凑...(例如实现动态皮肤特性,后台会讲到) 共享资源 正常情况下资源使用的是统一对象实例,这种行为成为共享,如果希望每次都创建一个新的对象可如下设置。...应用程序资源 窗口不是查找应用程序资源的最后一站,如果在控件或其他容器中知道包含窗口或页面找不到指定的资源。WPF会继续查找为应用程序定义的资源。

    78831

    【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

    8.WPF中的命令设计模式是什么 命令设计模式是面向对象设计模式中最强大的设计模式之一。 此模式允许将操作请求与实际执行操作的对象分离,换句话说,命令模式将操作表示为对象。...此部分是非托管代码,因为它充当 WPF 托管和 DirectX/User32 托管 API 之间的桥梁。...收集了窗口、导航页面、用户控件、资源文件、样式和主题、自定义工具和控件的所有用户界面元素。...ViewModel 是一个可视类。 MVVM 设计模式不派生自任何基于 WPF 的类。 ViewModel 不直接知道View。...基于 MVVM 模式的应用程序的实现使用各种平台功能,这些功能以某种形式可用于 WPF、Xarmarin 移动端、Web和 Windows。

    47222
    领券