WPF关于WindowInteropHelper的一个BUG

在Windows SDK中关于WindowInteropHelper类的介绍中,关于其Owner属性的说明和实现有些问题。

原文是:An example scenario is if you need to host a WPF dialog box in a Win32 application. Initialize the WindowInteropHelper with a WPF window object for the dialog. You can then get the WPF window's handle (HWND) from the Handle property and specify the owner for the WPF window with the Owner property. The following code example shows how to use WindowInteropHelper when hosting a WPF dialog box in a Win32 application.

大意是通过WindowInteropHelper的Owner属性可以把WPF窗口的Owner属性设置为一个Win32的窗口句柄HWND。但是这个功能的实现是有问题的。有兴趣的朋友可以通过下面的代码进行测试:

Window myDialog = new Window();
myDialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
WindowInteropHelper wih = new WindowInteropHelper(myDialog);
wih.Owner = ownerHwnd;
myDialog.ShowDialog();

这段代码最后显示的窗口不会位于Owner窗口的中心。事实上,WindowInteropHelper.Owner属性设置的是Window类的_ownerHandle成员。这个成员和Window.Owner设置的成员不是同一个。因此,文档中的说明和WPF的实际实现不相符的。这个问题基本已经确认是WPF的一个BUG。

转载于:https://www.cnblogs.com/YilingLai/archive/2007/04/03/698064.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

韩国的计算机科学家,韩国科学技术院用普通相机为AR/VR复刻真实世界物理对象...

只需一个包含闪光灯的相机/摄像头(映维网 2018年12月10日)为虚拟环境捕捉和复刻逼真的现实世界对象十分复杂,而且耗时。所以,从移动设备和数码相机,你能想象只通过一个包含内置闪光灯的传统相机来简化这个任务吗?一支全球化的计算…

C和汇编混合编程---do while

环境:VC do while 会先执行do里面的循环体,执行完去执行while的条件判断,如果为真,继续执行do里面的循环体,如果为假,则结束循环 C程序: #include "stdio.h" int main() {int i1,su…

林子大了,什么鸟都有----.NET运用String的十八层境界

林子大了,什么鸟都有----.NET运用String的十八层境界 在上一文中,提到了一句相当常见但十分荒谬的代码:Request.QueryString["id"].ToString()。突然涌起一个想法,为什么不总结一下不同层次.Net开发者如何运用string的呢…

kotlin 查找id_Kotlin程序在矩阵中查找偶数和奇数的频率

kotlin 查找idGiven a matrix, we have to find frequencies of even and odd numbers. 给定一个矩阵,我们必须找到偶数和奇数的频率。 Example: 例: Input:matrix:[4, 5][6, 0][9, 2]Output:Even Elements Frequency : 4Odd Elements Frequency : 2在…

函数“”的返回类型不符合 CLS

林子在了啥鸟都有!怎么出这种错误了。 转载于:https://www.cnblogs.com/nanshouyong326/archive/2007/04/23/723457.html

The Famous Clock(著名的钟)

描述 Mr. B, Mr. G and Mr. M are now in Warsaw, Poland, for the 2012’s ACM-ICPC World Finals Contest. They’ve decided to take a 5 hours training every day before the contest. Also, they plan to start training at 10:00 each day since the World Final Conte…

计算机机场基础知识,全国机场频率_电脑基础知识_IT计算机_专业资料

全国机场频率_电脑基础知识_IT计算机_专业资料 (13页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!14.9 积分机场频率2009-11-28 15:29:251分类:默认分类I举报I字匕订阅中国主要机场管制…

c和汇编---函数

环境:VC 作用: 函数是完成特定任务的独立程序代码单元 1、创建和使用函数 函数原型:声明函数是什么类型,指明函数的返回值和函数接收的参数类型,函数和变量一样,有多种类型,任何程序在使用函…

Ajax_ASP.NET 添加 Ajax 和客户端功能_01

现在,基于不同开发思想的前端 Ajax 框架越来越多,功能越来越强大,UI 越来越炫,但随之复杂度也越来越高,尤其是UI做得漂亮的,比如 Ext.Net。 可是无论框架多么复杂,思想都一样的。因为&#xff0…

计算机常用英语1000个,1000个常用英语单词.pdf

[键入文字 ]常用英语单词 2000 个One 16 as [ ?z, ? z] ad. 同样地 prep. 当作conj. 随着 ; 因为1 the [e?, ei: ] art. 这,那 ad.[ 用于比17 not [n?t] ad. 不,没,不是较级;最高级前 ]18 on [?n] prep. 在 …上;…

三角形面积

描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间) 输入0 0 0 0 0 0表示输入结…

python投骰子程序代码_用于双骰子(一个偏向一个法线)仿真的Python程序

python投骰子程序代码Here, we will be simulating the occurrence of the sum of the faces of two dice [i.e. dice(A) - 1, 2, 3, 4, 5 ,6 dice(B) - 1, 2, 3, 4, 4, 4, 5, 6, 6 ,6]. A dice is normal(each has an equal probability of occurrence) and another B dice i…

如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解决方案[上篇]

一、提出问题 在开发一个企业级 应用的时候,尤其在一个涉及到敏感数据的应用,比如财务系统、物流系统,我们往往有这样的需求:对于数据库中每一笔数据的添加、修改和删除,都需要有一个明确的日志,以便我们可…

执行shellcode的几种方式

首先写出汇编成功弹出计算器 #pragma comment(linker,"/section:.data,RWE") //data段可读写#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //不显示窗口#pragma comment(linker,"/INCREMENTAL:…

介绍针对企业级Flex开发的开源项目FlexibleShare

http://code.google.com/p/flexibleshare/ http://integratedsemantics.org/2009/05/19/flexibleshareair-dashboardportal-for-alfresco-livecycle-build1-available/ http://anvilflex.com/ 近日,开源的企业内容管理(ECM)系统供应商Alfresc…

取石子(七)

描述 Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,Hrdv先取,输出胜利着的名字。 输入 输入包括多组测试数据。 每组测试数…

html判断是安卓还是苹果手机,网页能够自己判断是pc端首页还是手机android和苹果。...

代码调用方式一 ( 推荐 兼容性好) 第一步: script typetext/javascript srcswfobject.js/script 第二步: p idplayera href/go/getflashplayerGet the Flash Player/a to see this player./p 第三步: var s7 new SWFObject(FlvPlayer2010.sw…

c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装1

c构造函数和析构函数Program 1: 程序1&#xff1a; #include <iostream>using namespace std;class Sample {private:int X;int Y;public:Sample(){X 0;Y 0;}Sample(int x, int y){X X;Y Y;}void print(){cout << X << " " << Y <&l…

我的项目的架构(三)

TranContext是一个比较重要的类,在这个类中,使用了反射方法,实现了根据配置文件动态创建类,实现了接口的作用. 1 publicabstractclassConfigurationFactory2 {3 publicConfigurationFactory()4 {5 //6 //TODO: 在此处添加构造函数逻辑7 //8 }9 publicstaticobjectCreateObject(…

1的个数

描述 小南刚学了二进制&#xff0c;他想知道一个数的二进制表示中有多少个1&#xff0c;你能帮他写一个程序来完成这个任务吗&#xff1f; 输入 第一行输入一个整数N&#xff0c;表示测试数据的组数(1< N<1000) 每组测试数据只有一行&#xff0c;是一个整数M(0< M…