美文网首页
【WPF】如何实现设置UserControl 弹出窗口的Owne

【WPF】如何实现设置UserControl 弹出窗口的Owne

作者: UnicornChen | 来源:发表于2019-05-30 16:37 被阅读0次

普通WPF窗口从一个Window1(Show方式)打开另一个Window2,只要设置Window2.Owner= Window1即可。这样Window2的显示和隐藏可由Window1自动控制。

  但使用WPF UserControl Host到WinForm时,实现就难了。

  刚才找到了解决方法:

Window win = new Window2();

HwndSource winformWindow = 

(System.Windows.Interop.HwndSource.FromDependencyObject(this) as System.Windows.Interop.HwndSource);

if (winformWindow != null)

       new WindowInteropHelper(win) { Owner = winformWindow.Handle };

win.Show();

下面是用户控件的弹出方式,用了导航窗口做载体

设置属性:

window = new NavigationWindow();

    window.Title = title;  //标题

    window.Width = width;

    window.Height = height;

    window.WindowStartupLocation = WindowStartupLocation.CenterScreen;

    window.ResizeMode = ResizeMode.NoResize;

    window.Source = new Uri(uri, UriKind.Relative);

    window.ShowsNavigationUI = false;  //去掉头部导航栏

    window.Show();

相关文章

网友评论

      本文标题:【WPF】如何实现设置UserControl 弹出窗口的Owne

      本文链接:https://www.haomeiwen.com/subject/okvvtctx.html