【发布时间】:2019-02-12 17:13:04
【问题描述】:
我试图在 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) 中可以正常工作。
我试图理解为什么会出现这种行为。
WPF中的OnInitialized和OnSourceInitialized有什么区别?
【问题讨论】:
-
这是一个关于源初始化的问题。答案包含有趣的链接:stackoverflow.com/questions/12077707/…