Windows Phone 8.1 - 如何创建弹出按钮(?)并使屏幕的其余部分变暗?

时间:2015-04-30 02:52:33

标签: c# windows-phone-8.1 flyout

让我们说在我的主屏幕上我有一张地图和一个CommandBar(就像在地图应用程序中一样)。从CommandBar按下“搜索”按钮后,我希望从顶部滑动一个面板(?)并使屏幕的其余部分变暗。我想要这样的效果:

Here's before the click

And here we have a panel that slided from top and background dimmed

2 个答案:

答案 0 :(得分:1)

您可以通过设置Placement = "Full"来显示全屏弹出窗口,但这不会有助于您想要定义的过渡和变暗的背景。

要做你想做的事情,我会使用 UserControl PopUp 的组合 - 非常好的例子is showed here by Rob Caplan。我认为它可以满足您的需求 - 您可以进行任何过渡,如果您想将屏幕调暗一点,您可以考虑使用合适的颜色和不透明度来设置矩形。

答案 1 :(得分:0)

var tb = new TextBox();
var box = new CustomMessageBox()
{
    Caption = "Enter Destination",
    Message = "Please enter a location name",
    LeftButtonContent = AppResources.Ok,
    RightButtonContent = AppResources.Cancel,
    Content = tb,
    IsFullScreen = false
};
box.Dismissed += (s, e) =>
{
    if( e.Result == CustomMessageBoxResult.LeftButton )
    {
        var filename = tb.Text;
        // User clicked OK, go ahead and save
    }
};
box.Show();

您可以使用这样的自定义消息框。只需编辑代码即可。这来自我现有的一个项目。您也可以尝试这样做:https://coding4fun.codeplex.com/