[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();
才有效果
wpf window set window的owner,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/FaDeKongJian/p/3745227.html