繁体   English   中英

我如何知道超级按钮栏已打开?

[英]How do I know that the charms bar has been opened?

当超级按钮栏打开时,我想关闭弹出按钮。 我以为会有一个事件说魅力已经打开,但事实并非如此。 由于超级按钮栏已打开,消除弹出按钮的正确方法是什么?

(C#,XAML应用)

(当前)无法检测到超级按钮栏何时打开。 仅当用户点击超级按钮时,您才会收到通知。

这是一个好习惯,因为用户可以打开超级按钮以查看日期/时间,然后将其关闭以返回到您的应用。 因此,您不会只因为已打开就更改任何内容。

当用户点击超级按钮时,Windows将自动关闭任何具有IsLightDismissEnabled == true的打开的弹出窗口。

您应该使用Window.Current.Activated += Current_Activated; 实际上是在激活窗口激活时触发的!

    void Current_Activated(object sender, WindowActivatedEventArgs e)
    {

        if (e.WindowActivationState == CoreWindowActivationState.CodeActivated)
        {
            if (BottomAppBarWasOpenBeforeCharmsActivated)
            {
                BottomAppBar.IsSticky = true;
                BottomAppBar.IsOpen = true;
                BottomAppBarWasOpenBeforeCharmsActivated = false;
            }

        }
        if (e.WindowActivationState == CoreWindowActivationState.Deactivated)
        {
            if (BottomAppBar.IsOpen == true)
            {
                BottomAppBarWasOpenBeforeCharmsActivated = true;
                BottomAppBar.IsSticky = false;
                BottomAppBar.IsOpen = false;
            }
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM