首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

异步转同步 win10 uwp 打开文件管理器选择文件 win10 uwp 拖动控件 win10 uwp 按下等待按钮 win10 uwp 改变鼠标 win10 uwp 显示SVG win10 UWP...wpf GifBitmapDecoder 解析 gif 格式 WPF ListBox 的选择 WPF listView 绑定前一项 WPF popup置顶 wpf PreviewTextInput 在鼠标输入获得输入...WPF Process.Start 出现 Win32Exception 异常 WPF UncommonField 类型是什么 wpf VisualBrush 已知问题 WPF 一个性能比较好的 gif...+Tab 隐藏窗口 WPF 好看的矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF 如何在 WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常...ViewBox 不显示线的问题 WPF 解决 xaml 设计显示异常 WPF 解决弹出模态窗口关闭后,主窗口不在最前 WPF 设置纯软件渲染 WPF 设置输入只能英文 WPF 调试 获得追踪输出 WPF

10.5K20

什么是模态窗口?本文带你了解模态窗口的本质

实现模态窗口 对于 Windows 操作系统来说,模态窗口并不是一个单一的概念,你并不能仅通过一个 API 调用就完成显示模态窗口,你需要在不同的时机调用不同的 API 来完成一个模态窗口。...关于 WPF 框架是如何实现模态窗口的,可以阅读:直击本质:WPF 框架是如何实现模态窗口的 关于如何自己实现一个跨越线程/进程边界的模态窗口,可以阅读:实现 Windows 系统上跨进程/跨线程的模态窗口...API 调用 为了在 Windows 上实现模态窗口,需要一些 Win32 API 调用(当然,框架够用的话直接用框架就好)。...UWP 中的新 API 当然已经都是使用 async/await 来实现模态等待了,不过 WPF/Windows Forms 比较早,只能使用 Dispatcher 线程模型来实现模态等待。...Windows 采用的方式是让标题栏闪烁,让阴影闪烁。 而这些特效的处理,来自于子窗口需要处理一些特定的消息 WM_SETCURSOR。

1.5K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么 WPF 软件在 win7 启动时会尝试调起 wisptis 进程

    但是被 WPF 启动的 wisptis 进程存在这样的问题,在触摸屏上 win7 的双指打开右键菜单等功能不可用 在 WPF 启动时,将会在 Window 类的 Visibility 修改时调用到 WispLogic.RegisterHwndForInput...方法进行初始化触摸,这部分详细请看 WPF 触摸到事件 而在初始化触摸时,需要用到 PenIMC 的逻辑 在 win7 系统上,触摸需要通过 wisptis 进程的辅助才能让 WPF 进程能够完成实时触摸...这个文件就是提供给 WPF 的触摸核心 PenThreadWorker 的 COM 组件(其实没有文档说这货是纯 COM 组件) 也就是和触摸相关的 也就是在 WPF 窗口打开显示将会初始化触摸,初始化触摸需要依赖...先不要触摸,等待 wisptis 进程启动之后,通过 WPF 模拟触摸设备 方案重新注册一遍触摸 我一开始启动太快了,没关系,我一开始启动的是一个 win32 的启动图,等待后台逻辑判断 wisptis...启动之后,我才打开 WPF 的窗口。

    90420

    一站式WPF--Window(一)

    独立 WPF 应用程序使用 Window 类来提供它们自己的窗口。   这段是MSDN上对Window的描述,虽然翻译的不是那么地道,也可以看出Window的两大功能:一,承载可视化数据。...比如鼠标按键被按下时,按键消息被发送到系统的消息队列中,系统通过扫描所有注册窗口的Rect判断按键发生在哪个窗口中,再在适当的时机把按键消息从系统消息队列转移到创建窗口线程的消息队列中等待窗口处理。...Presentation   在前面中,介绍到了需要被显示的可视化数据,在WPF中是以对象树(确切说是Visual Tree)来组织的。那么它又是如何被画出来的呢?...在PresentationCore中,定义了Visual类,这个是WPF显示的核心,所有可以被显示的对象都直接或间接继承自Visual。当然,这里的Visual Tree就指Visual组成的树。...在这个过程中,Render线程是被动的,它等待着UI线程向它传输数据并下达命令,也会把操作的结果(绘制完成,错误)等通过Channel报告给UI线程。

    25330

    推荐一个IT老鸟肝了2月有余的免费开源WPF企业级开发框架

    WPF技术是一个很不错的技术,但一直没有上手过正式的项目,趁在做这个医疗项目时,遂搭建一个WPF开发框架,目的是为了统一WPF开发并提高开发效率;我对WPF技术算是零基础,现学现卖,用这些不成体系的文字予以记录一些想法和实践...api的方式来完成所有的业务操作,在WPF的Page,窗体(Window),用户控件的后置代码,几乎不会有任何的业务代码,除了一些控制界面行为的功能。...在搭建这个框架时,是基于最新的 【 .net 5】用的技术版本是比较新的,演示代码中,wpf也是使用 .net 5。...JHRS.Shell(WPF客户端入口程序) WPF客户端入口程序 JHRS.Shell是WPF客户端项目的入口程序,并且定义了整个系统公用的消息提示框,模态窗口风格,主窗口等;登录的入口也是在这里定义的...消息提示框 消息提示框 消息弹框 消息弹框 确认消息框 确认消息框 模态窗口 模态窗口 遮罩层效果(蒙层效果或Loading效果) 遮罩层效果一般用于点击按钮,加载数据时使用,即调用接口到数据呈现中间有一个等待的过程

    2.3K30

    WPF开源项目:WPF-ControlBase

    4.1 目的 在使用Asp.net Core时,深感MVC框架作为页面跳转数据处理的方便,但WPF中似乎没有现成的MVC框架,由此自定义开发一套MVC的框架,在使用过程中也体会到框架的优势,下面简要介绍一下这套基于...ViewBox方式加载,当缩放窗口或应用到到其他分辨率设备都会兼容 5.3.3 主题配置信息保存 主题配置信息已经封装在ApplicationBase中,会自动在退出时保存设置好的配置信息(如:主题颜色...5.5.1 数据表格 a 兼容主题字体和主题设置,后面将要提到的所有控件均已应用主题设置,不做再说明 b 每页显示条数 可以设置每页要显示的条数 c 搜索 可以设置搜索过滤条件,包含指定搜索项的条目才会显示...*总结:**使用方式为绑定数据源到TreeListView控件中 5.5.3 其他常用控件 a 对话框 采用内置对话框,不是应用窗口,只是覆盖层,可以避免窗口对话框引起的一些问题 b 对话窗口自定义对话窗口...相对系统对话窗口更美观,增加显示和隐藏效果,通过注入的方式可以自定义按钮个数和功能 c消息列表 目前有两种模式,分别是在窗口内显示和Window系统中显示,可以根据需求自定义显示方式,示例如下 d

    3.5K10

    WPF开源项目:WPF-ControlBase

    4.1 目的 在使用Asp.net Core时,深感MVC框架作为页面跳转数据处理的方便,但WPF中似乎没有现成的MVC框架,由此自定义开发一套MVC的框架,在使用过程中也体会到框架的优势,下面简要介绍一下这套基于...ViewBox方式加载,当缩放窗口或应用到到其他分辨率设备都会兼容 5.3.3 主题配置信息保存 主题配置信息已经封装在ApplicationBase中,会自动在退出时保存设置好的配置信息(如:主题颜色...5.5.1 数据表格 a 兼容主题字体和主题设置,后面将要提到的所有控件均已应用主题设置,不做再说明 b 每页显示条数 可以设置每页要显示的条数 c 搜索 可以设置搜索过滤条件,包含指定搜索项的条目才会显示...*总结:**使用方式为绑定数据源到TreeListView控件中 5.5.3 其他常用控件 a 对话框 采用内置对话框,不是应用窗口,只是覆盖层,可以避免窗口对话框引起的一些问题 b 对话窗口自定义对话窗口...相对系统对话窗口更美观,增加显示和隐藏效果,通过注入的方式可以自定义按钮个数和功能 c消息列表 目前有两种模式,分别是在窗口内显示和Window系统中显示,可以根据需求自定义显示方式,示例如下 d

    3.6K30

    【愚公系列】2023年09月 WPF控件专题 Image控件详解

    一、Image控件详解 在WPF中,Image控件用于显示图像。...DecodePixelWidth和DecodePixelHeight:设置或获取解码图像时的宽度和高度。这可用于控制图像的大小,从而节省内存。 IsAsync:设置或获取是否异步加载图像。...2.常用场景 WPF中的Image控件常用于以下场景: 显示静态图片。Image控件可以加载各种静态图片格式,包括PNG、JPG、BMP、GIF等等。 显示动态图片。...WPF中使用Image控件可以轻松地显示GIF等动态图片格式。 源图像自适应。Image控件具备自适应大小的能力,可以根据容器大小自动调整图像的大小,从而更好地适应不同的窗口布局。 显示图形资源。...Image控件在WPF中是非常常用的控件之一,它不仅可以用来展示静态图片和动态图片,还可以用来显示各种图形资源,非常灵活。 3.具体案例 <!

    75200

    WPF 底层 从手指触摸屏幕到笔迹在屏幕显示中间的步骤

    整个 WPF 就是一个UI框架,一个 UI 框架最重要的是 交互 和 显示 部分,而书写这个功能将会完全贯穿 WPF 整个框架的功能。...更多有关协议部分请看 Windows 的 Pen 协议 规避了硬件设备,此时咱就不需要画精力去了解硬件设备的收集触摸点的机制,以及封装数据和系统的解包是如何做的 在 WPF 的触摸在系统最底层使用的是...因此如果监听 Touch 等这些事件,那么将需要等待线程切换和等待主线程忙碌。...其实不然,还需要经过 DWM 桌面窗口管理器的调度,将多个窗口的画面合成之后在交给显卡的缓冲区,等待屏幕刷新 这就是整个的步骤 从这个步骤了解上,可以理解 高性能笔迹原理 的内容 那开发者端能控制的部分包括哪些...高性能笔迹原理 WPF 高性能笔 WPF 高速书写 StylusPlugIn 原理 WPF 最小的代码使用 DynamicRenderer 书写 WPF 使用 Composition API 做高性能渲染

    1.2K20

    Windows 消息循环

    2 消息循环的数据结构 typedef struct { HWND hwnd; // 消息的目标窗口句柄 UINT message; // 消息标识 WPARAM wParam...从 0xC000 到 0xFFFF,这个区段的消息值保留给 RegisterWindowMessage 这个 API,此 API 可以接受一个字符串,把它变换成一个唯一的消息值。...深入一点的表达式:等待窗口处理函数返回后,SendMessage才返回。 PostMessage 不等待消息处理完成,立刻返回。...WPF的对象在获取this.Dispatcher属性时,不同对象取的都是同一个Dispatcher实例。(因为都是同一个UI线程创建的。)...- 博客园 WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口 - 葡萄城技术团队 - 博客园 WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口

    7910

    dotnet 读 WPF 源代码笔记 启动欢迎界面 SplashScreen 的原理

    在 WPF 中的启动界面,为了能让 WPF 的启动界面显示足够快,需要在应用的 WPF 主机还没有启动完成之前就显示出启动图,此时的启动图需要自己解析图片同时也需要自己创建显示窗口 从 WPF 的 src...pImageSrcBuffer = new IntPtr(umemStream.PositionPointer); } 接下来就是调用 CreateLayeredWindowFromImgBuffer 创建一个窗口然后这个窗口显示图片内容...BGRA 图片格式传给 GDI 图片对象,这样就能将咱的图片作为 GDI 图片对象能使用的资源 第三步是创建窗口显示这张 GDI 图片 回到创建窗口的核心方法 CreateLayeredWindowFromImgBuffer...,如果是 Gif 图片也只是显示第一帧 UnsafeNativeMethods.WIC.GetFrame(pDecoder, 0, out pDecodedFrame);...里面再快的启动图显示速度都不如 UWP 快,因此 UWP 是系统给的优化,通过 AppFrameHost 显示的,基本上点击应用立刻打开 当前的 WPF 在 https://github.com/dotnet

    1.1K20

    【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    可移动的应用内工具栏(v16.3) XAML绑定失败面板(独立的 VSIX 早期 alpha 预览): 为了在开发人员的应用程序中发生数据绑定失败时为开发人员提供帮助,我们在开发中提供了一项新功能,该功能为...创建数据绑定对话框(v16.4): 通过 XAML 设计器和属性浏览器的右键单击,Visual Studio有一个可供 WPF .NET Framework 开发人员使用的数据绑定对话框,并且以前也可供...时正确显示。 XAML 智能感知(v16.4)中的代码段: 增强了 IntelliSense 的功能,以支持显示 XAML 代码段,这对于内置代码段和您手动添加的任何自定义代码段均适用。...单击后,XAML 设计器将最小化其附加的 XAML 选项卡,并仅针对 XAML 编辑器视图弹出一个新窗口。您可以将此新窗口移动到 Visual Studio 中的任何显示或选项卡组。...弹出 XAML 编辑器作为与设计器(v16.4)分开的单独窗口 显示引用程序集的资源(v16.4): XAML IntelliSense 已更新为支持显示来自 WPF Framework 和 WPF .

    7.4K30

    dotnetCampus.UITest.WPF 一个支持中文用例的界面单元测试框架

    很多团队都会因为单元测试的用例函数命名太难而让团队成员不喜欢写单元测试,或者说代码审查的时候觉得对方写的单元测试用例名有语法错误,又或者是改到单元测试时发现函数命名因为自己英文能力有限而看不懂 本文安利给大家的...使用它,你可以用契约的方式来描述一个又一个的测试用例,这些测试用例将在单元测试运行结束后显示到单元测试控制台或 GUI 窗口中。...[UIContractTestCase] public void TestAsyncLoad() { "等待窗口显示出来,可以成功进行异步等待...此问题不是 dotnetCampus.UITest.WPF 库引入,而是通用的单元测试就存在的问题。...} [UIContractTestCase] public void TestAsyncLoad() { "等待窗口显示出来

    1K30

    WPF 同一窗口内的多线程 UI(VisualTarget)

    ---- WPF 同一个窗口中跨线程访问 UI 有多种方法: 使用 VisualTarget (本文) 使用 SetParent 嵌入另一个窗口 前者使用的是 WPF 原生方式,做出来的跨线程 UI 可以和原来的...所以,我们的目标是使用 VisualTarget 显示跨线程边界的 UI。...完善基本功能 虽说 VisualTarget 的基本使用已经可以显示一个跨线程的 UI 了,但是其实功能还是欠缺的。...DispatcherContainer 当使用我封装好的多线程 UI 方案时(其实就是把这几个类自己带走啦),这个类才是大家编程开发中主要面向的 API 类啊!...这些辅助型代码的含义可以查看我的另一篇博客:如何实现一个可以用 await 异步等待的 Awaiter - walterlv。

    2.6K20

    Windows 下的高 DPI 应用开发(UWP WPF Windows Forms Win32)

    额外的,对于 Windows 8.1 及以上的系统,系统 DPI 值等于主屏在系统启动时的屏幕 DPI 值。...这里的顶级窗口指的是没有父级的窗口,指的是 Parent,而不是 Owner。(实际上 API 在更早版本就引入了,这里有故事,详见本文末尾。)...变化的故事 感谢 Mouri_Naruto(毛利)提供的故事,API 的具体使用也可参考他的文章:【原创】实现每显示器高DPI识别(Per-Monitor DPI Aware)的注意事项。...并且更早的,V2 带来的非客户区缩放和子窗口 DPI 变更消息的 API 在 1507 和 1511(分别是 Windows 10 的第一和第二个正式版本)就已经有了,不过是未公开的(可参阅 【原创】实现每显示器高...- Per Monitor DPI - WPF Preview.docx at master · Microsoft/WPF-Samples 在 Windows 10 中修复显示模糊的应用 - Windows

    92350

    WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口

    目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息窗口以及系统资源通知窗口 (3)用于用户交互的可见窗口 (4)...用于UI窗口绘制的可见窗口 WPF的消息机制(三)-WPF输入事件的来源 WPF的消息机制(四)-WPF中UI的更新 处理应用程序激活和系统关闭的窗口(Window 2#) 创建时机:在调用Application.Run...WPF为了安全起见没有让UI窗口来处理应用程序激活,反激活,以及操作系统关闭时对应的消息,而是内部创建了一个隐藏的窗口,专门用来接收WM_ACTIVATEAPP和WM_QUERYENDSESSION两个...用途:处理当操作系统的Theme发生改变后,以及诸如SystemColors,SystemFonts,电源,显示器等跟系统关联的资源发生改变时,更新WPF这边的表现。...WPF在应用出现的MainWindow在初始化完成后,会创建一个隐藏的窗口,专门处理来自系统相关资源更新后的消息,比如WM_ThemeChanged,WM_SystemColorChanged,WM_DisplayChange

    1.9K90
    领券