Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF中的表单覆盖显示在窗口后面_C#_Wpf_Forms - Fatal编程技术网

C# WPF中的表单覆盖显示在窗口后面

C# WPF中的表单覆盖显示在窗口后面,c#,wpf,forms,C#,Wpf,Forms,我有一个WPF窗口,它生成一个自定义usercontrol owner = Window.GetWindow(placementTarget); form = new Form(); form.Opacity = owner.Opacity; form.ShowInTaskbar = false; form.FormBorderStyle = FormBorderStyle.None; System.Drawing.Size size = new System.Drawing.Size(Con

我有一个WPF窗口,它生成一个自定义usercontrol

owner = Window.GetWindow(placementTarget);

form = new Form();
form.Opacity = owner.Opacity;
form.ShowInTaskbar = false;
form.FormBorderStyle = FormBorderStyle.None;
System.Drawing.Size size = new System.Drawing.Size(Convert.ToInt32(placementTarget.ActualWidth), Convert.ToInt32(placementTarget.ActualHeight));
form.ClientSize = size;
webBrowser.Dock = DockStyle.Fill;
form.Controls.Add(webBrowser);

Cursor.Hide();

Point location = placementTarget.TransformToAncestor(owner).Transform(new Point(0, 0));
form.Left = Convert.ToInt32(location.X + owner.Left);
form.Top = Convert.ToInt32(location.Y + owner.Top);

DependencyPropertyDescriptor descriptor = DependencyPropertyDescriptor.FromProperty(UIElement.OpacityProperty, typeof(Window));
descriptor.AddValueChanged(owner, delegate { form.Opacity = owner.Opacity; });
这将显示窗体,如果我将窗体的left属性移动到负值,以便主窗口不覆盖它,我就可以看到它

但由于某种原因,我似乎无法将此表单显示在窗口的顶部。有什么想法吗


干杯。

如果
表单
是一个
窗口
,那么您可以尝试使用:
Form.Owner=Owner
或者您可以尝试:
form.topmest=true
如果不是,则在显示它的
窗口上尝试。运气不好,尝试将wpf窗口设置为false,将表单设置为true,但没有效果。placementTarget是什么?实际显示
窗口的代码在哪里?