如何将BusyIndi​​cator设置到窗口中央?

发布于 2024-12-04 15:05:45 字数 37 浏览 0 评论 0原文

WPF: 将 BusyIndi​​cator 设置为窗口中心

WPF:
set BusyIndicator to the center of window

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

纸短情长 2024-12-11 15:05:45

使用 Horizo​​ntalAlignment="Center"VerticalAlignment="Center" 附加属性。

例如:

<Windows>
    <Grid>

    <extToolkit:BusyIndicator IsBusy="True" HorizontalAlignment ="Center" VerticalAlignment="Center"/>

    </Grid>
</Window>

如果您希望控制 Windows 上的所有内容,我认为您应该将其放置在弹出窗口内并通过代码控制弹出窗口的位置。

作为最后的手段,您可以将 BusyIndi​​cator 放置到一个单独的无边框 WPF 窗口中,将其置于 WindowsFormsHost 之上。

为了使弹出窗口粘在其父窗口上,只需在每次激活父窗口时调用 popup.Activate() 即可。这样,如果其他应用程序窗口覆盖您的应用程序窗口,则弹出窗口和父窗口都将位于当前活动窗口的下方。当用户激活父窗口时,它将在弹出窗口上调用 activate ,这样看起来它们就粘在一起了。我知道,这是一个诡计。也许有人有更好的解决方案。

Use HorizontalAlignment ="Center" and VerticalAlignment="Center" attached properties.

For example:

<Windows>
    <Grid>

    <extToolkit:BusyIndicator IsBusy="True" HorizontalAlignment ="Center" VerticalAlignment="Center"/>

    </Grid>
</Window>

In case you want a control to be over everything on the Windows, I think you should place it inside of a popup and control the popups position from code.

As a last resort, you can put BusyIndicator to a separate boardeless WPF window to top it over the WindowsFormsHost.

In order to keep a popup sticky to its parent, just call popup.Activate() each time your parent Windows is activated. This way, if some other applications windows goes over yours, both, popup and the parent will be beneath the currently active windows. The moment user activates the parent window, it will call activate on the popup, so that it appears they are stuck together. This is rather a trick, I know. Maybe someone has a better solution.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文