2

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

我试过这个:

 flyout.alignment="center" 

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

4

1 回答 1

2

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;
}   
于 2013-04-16T13:05:24.097 回答