WPF关于WindowInteropHelper的一个BUG
来源:互联网 发布:linux运维工程师职责 编辑:程序博客网 时间:2024/04/28 04:31
在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。
- WPF关于WindowInteropHelper的一个BUG
- WPF关于WindowInteropHelper的一个BUG
- WPF关于WindowInteropHelper的一个BUG
- WPF关于WindowInteropHelper的一个BUG
- 关于memagent的一个bug
- 关于缓冲区的一个BUG
- 一个关于 UIPickerView 的 bug
- 关于一个bug的解决
- 关于SwipeMenuListView的一个BUG
- 关于CAD2008的一个bug
- 关于EditText的一个Bug
- WPF中程序启动时的一个BUG
- WPF中Storyboard动画延迟的一个BUG(缺陷?)
- 修复WPF Silverlight ListBox控件的一个Bug
- 关于ICMP Redirect路由的一个不是bug的bug
- Microsoft的一个关于DirectX3D的BUG
- 一个关于微软的_toupper的bug!
- 当Generic.xaml遇上BitmapImage:发现一个疑似WPF Bug而又不似Bug的问题
- SQL Server XML 和 Web 应用体系结构
- 设置WPF窗口相对于非WPF窗口的位置
- 对话框控件属性的修改
- 应用泛型的策略模式
- 稳固而知新 SINGLETON,MONOSTATE,NULL OBJECT
- WPF关于WindowInteropHelper的一个BUG
- BDS 2006 Hotfix Rollup 2
- XML and Databases铪
- 贝赛尔曲线的拆分算法
- WPF全景体验(本文已发表于《程序员》07年03期)
- 稳固而知新_FACTORY
- “围城”式困境中的依赖注入模式及Spring(3)
- Windows平台的通用Build工具:MSBuild
- 关于调试技巧的PPT