当前位置:编程学习 > C#/ASP.NET >>

急,高分求WPF中建立Form后窗口顺序问题?

我在一个WPF窗体程序中,添加一个C# Form窗口,现需要使WPF程序永远显示在Form之上,求方法,高分送!

        MyForm mForm = new MyForm();
        mForm.Show();

WPF窗体是透明中空框型
Form窗体比WPF窗体小,且FormStyle为none

尝试过SetParent,WPF窗体被Form裁剪了...
--------------------编程问答-------------------- 没用过WPF,到现在还是WINFORM --------------------编程问答--------------------
引用 1 楼 xinke2000 的回复:
没用过WPF,到现在还是WINFORM


同上 --------------------编程问答-------------------- 你使用的方法翻翻就可以了 --------------------编程问答-------------------- 没用过WPF,到现在还是WINFORM --------------------编程问答-------------------- MyForm mForm = new MyForm();
mForm.Owner = this
  mForm.Show();

--------------------编程问答-------------------- 没有类似zindex之类的属性吗? --------------------编程问答-------------------- wimform  有一个topMost 熟悉设置后这个窗体就是最前端窗口了,wpf 的窗口应该有这个熟悉的 你看下 form 的方法。
wpf没用过 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 过来拿分,这个问题也曾经纠结了我一段时间,
根据MSDN:http://msdn.microsoft.com/en-us/library/ms744952.aspx
所说的:
In a WPF user inte易做图ce, you can change the z-order of elements to control overlapping behavior. A hosted Windows Forms control is drawn in a separate HWND, so it is always drawn on top of WPF elements.

A hosted Windows Forms control is also drawn on top of any Adorner elements.

因此,只要是是在WPF应用程序中直接添加的Winform控件,都会在WPF所有控件之上。
一个灵活的(或者说是取巧的)办法就是:
将想要放置在Winform的WPF控件也放在一个Winform控件中,我的一个实现如下:
	/* for user control condition.
// WindowsFromHost is a container for Winform Control in WPF.
WindowsFormsHost WindowsFormHostForSttingDialog = new WindowsFormsHost();
// ElementHost is a container for WPF control in Winform.
ElementHost ElementHostForSettingDialog = new ElementHost();
ElementHostForSettingDialog.Child = _settingsDialog;
WindowsFormHostForSttingDialog.Child = ElementHostForSettingDialog;
ContentControlSettingArea.Content = WindowsFormHostForSttingDialog;


其中settingsDialog是需要放置在Winfrom控件之上的控件,其他的变量都是临时变量。

补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,