首页 > 代码库 > wpf window set window的owner

wpf window set window的owner

 
  [DllImport("user32.dll")]
  public static extern IntPtr GetAncestor(IntPtr hWnd, int flags);
 var dialog = new C1ImageDialog();
 
            window = new Window();
            window.Content = dialog;
            window.ShowInTaskbar = false;
            window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            window.SizeToContent = SizeToContent.WidthAndHeight;
            window.WindowStyle = WindowStyle.ToolWindow;
            var elementSource = HwndSource.FromVisual(rtb) as HwndSource;
            if (elementSource != null)
            {
                int GA_ROOT = 2;
                IntPtr root = GetAncestor(elementSource.Handle, GA_ROOT);
                new WindowInteropHelper(window).Owner = root;
            }
注意:如果dialog里面有事件需要注册。。先注册事件再
window.ShowDialog();

才有效果