microsoft-metro - Winjs 弹出窗口位于屏幕中央

标签 microsoft-metro winjs

当我单击某个按钮时,我刚刚单击的按钮顶部会出现一个弹出窗口以供确认。

我尝试过这个:

 flyout.alignment="center" 

但对齐是通过按钮进行的​​。我想在屏幕中央显示我的弹出按钮。我问这是否可以通过 Winjs.UI.Flyout

最佳答案

浮出控件始终与作为第一个参数传递的元素对齐。如果您需要让弹出按钮不与元素对齐而是位于屏幕中心,可以通过将隐藏元素放置在屏幕中心并将弹出按钮与其对齐来完成。

_oncmdclick: function oncmdclick(event)
{
    // assume an element with class hidden in the page and placed at center of the screen
    var hiddenElement = this.element.querySelector('.hidden');
    var myFlyoutElement = ...; // myFlyoutElement is the flyout element
    this.newItemFlyoutElement.winControl.show(hiddenElement, 'top', 'center');
},    

html:

<div class="hidden" style="visibility: collapse"></div>

CSS:

// in this case, I had used 1x1 -ms-grid for the section of the page
.mypage.fragment section[role=main] {
    display: -ms-grid;
    -ms-grid-rows: 1fr;
    -ms-grid-columns: 1fr;
}
// center the hidden element in the page grid
.mypage.fragment section[role=main] .hidden
{
    -ms-grid-column-align: center;
    -ms-grid-row-align: center;
}   

关于microsoft-metro - Winjs 弹出窗口位于屏幕中央,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16035591/

相关文章:

javascript - WinJS xhr可以发出HTTPS请求吗?

windows-8 - 带路径参数的 WinJS getFolderAsync

windows-8 - Metro 应用程序使用企业身份验证 : why do I still see login prompt

c++ - Visual Studio 2013 中的 msvcr120.dll 和 msvcr120_app.dll 有什么区别?

c# - TextBlock 上的删除线效果

javascript - 如何启动我的 WinJs 应用程序对齐到左侧?

winjs - WinJS 中的嵌套 Promises

c# - 从 WinJS 应用打开 C#/XAML View

c# - 如何: HTTP GET and POST request with parameters in Win 8 modern app using C# and XAML

c# - 如何在嵌套元素上设置视觉状态?