[DllImport("user32.dll")]
public static extern IntPtr GetAncestor(IntPtr hWnd, int flags);
var dialog = new CustomiDalog();
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();
才有效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步