![]() |
腹黑的爆米花 · WPF异常“调用线程无法访问此对象,因为另一 ...· 2 周前 · |
![]() |
喝醉的镜子 · WPF 线程操纵UI问题 - Lulus · 2 周前 · |
![]() |
千杯不醉的绿茶 · WPF combobox ...· 5 天前 · |
![]() |
读研的豌豆 · nginx点击劫持漏洞修复 - CSDN文库· 7 月前 · |
![]() |
任性的斑马 · 使用Proftpd支持FTP/SFTP权限管 ...· 8 月前 · |
![]() |
力能扛鼎的野马 · PowerBI开发 ...· 1 年前 · |
![]() |
含蓄的香槟 · 给div添加滚动条 - Clayten - 简书· 1 年前 · |
![]() |
憨厚的小马驹 · 使用二维数组初始化OpenCV Mat - ...· 1 年前 · |
我试图在WPF中添加全局热键。
var helper = new WindowInteropHelper(this);
var handle = helper.Handle;
var source = HwndSource.FromHwnd(handle);
当我将这段代码放入
OnInitialized
重写方法中时,它返回
handle
变量的值
0
,并在
HwndSource.FromHwnd(handle)
中失败。
但是,当我把它放在
OnSourceInitialized
重写方法中时,它会为
handle
变量返回一些随机值,并在
HwndSource.FromHwnd(handle)
中工作得很好。
我只是想弄明白为什么会这样。
OnInitialized和OnSourceInitialized在WPF中有什么区别?
发布于 2019-02-12 09:13:04
初始化
FrameworkElement.Initialized
( WPF元素)时会引发
FrameworkElement
事件。
在这里的医生
每当调用
EndInit
或OnVisualParentChanged
方法时,都会引发此事件。对这两种方法的调用可能来自应用程序代码,或者在处理XAML页面时通过可扩展应用程序标记语言(XAML)处理器行为调用。
此事件是在处理XAML树时引发的。它可以为任何
FrameworkElement
(包括
Window
)引发。
当基础
Window.SourceInitialized
窗口句柄可用时,将引发Win32事件。它只在
Window
上提出。您可以在
文档
中阅读更多内容。
这就是为什么在
Window.SourceInitialized
事件处理程序中获得有效句柄而在
FrameworkElement.Initialized
事件处理程序中获得无效句柄(0)的原因。
https://stackoverflow.com/questions/54646062
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
![]() |
喝醉的镜子 · WPF 线程操纵UI问题 - Lulus 2 周前 |
![]() |
千杯不醉的绿茶 · WPF combobox selectionchanged and triggered the listbox scroll/locate to the selected item cooperate 5 天前 |
![]() |
读研的豌豆 · nginx点击劫持漏洞修复 - CSDN文库 7 月前 |
![]() |
含蓄的香槟 · 给div添加滚动条 - Clayten - 简书 1 年前 |