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

Windows Phone 8.1 - How to create a flyout (?) and dim the rest of the screen?

假设我的主屏幕上有一张地图和一个命令栏(就像在地图应用中一样)。在按下 CommandBar 中的 "search" 按钮后,我希望有一个面板(?)从顶部滑动并使屏幕的其余部分变暗。我想要类似的效果:

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/

您可以通过设置 Placement = "Full" 来显示全屏弹出按钮,但这对您想要定义的过渡和变暗的背景没有帮助。

为了做你想做的事,我会使用 UserControlPopUp 的组合——非常好的例子 is showed here by Rob Caplan。我认为它会满足您的需求 - 您可以在那里放置任何过渡,如果您想稍微调暗屏幕,您可能会考虑放置具有合适颜色和不透明度的矩形。