gpt4 book ai didi

wpf中心子窗口不适用于sizetocontent

转载 作者:行者123 更新时间:2023-12-04 03:06:02 24 4
gpt4 key购买 nike

如果我设置 SizeToContentWidthAndHeight ,然后 WindowStartupLocation="CenterOwner"不能正常工作。而不是新窗口的中心位于其父所有者的中心,它看起来更像是子窗口的左上角位于父窗口的中心。
如果我删除 SizeToContent那么一切都好。
怎么了?

最佳答案

绑定(bind)的动态内容主要是直接通过 GUI 呈现,但有时通过 GUI 调度。计时器和其他线程可以启动 (MVVM) 属性更改事件。可以肯定的是,渲染是在很短的时间内完成的,但不是保证的,因为定位 WPF 调度程序队列的优先级。
所以,你不能说渲染什么时候完成,WPF 也不能说处理的顺序——所以 WPF 现在不能计算 StartPosition 的理想时间。

一个技巧是,等待,WPF 队列是空的。那么你确定,WPF 有时间处理你的代码。这意味着,您延迟了 Window 的 ShowDialog 调用。

所以给GUI-主线程它需要的所有时间 , 执行 MVVM 的动态内容更改或其他动态更改。
不要尝试手动计算位置,非常复杂,支持多显示。
试试这个代码打开窗口,它只打开窗口,当 WPF 完成所有操作 .

        win.Dispatcher.Invoke(new Action(() => win.ShowDialog()), DispatcherPriority.ApplicationIdle);

关于wpf中心子窗口不适用于sizetocontent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com