C# WPF中的表单覆盖显示在窗口后面
我有一个WPF窗口,它生成一个自定义usercontrolC# 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
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是什么?实际显示窗口的代码在哪里?