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"
来显示全屏弹出按钮,但这对您想要定义的过渡和变暗的背景没有帮助。
为了做你想做的事,我会使用 UserControl 和 PopUp 的组合——非常好的例子 is showed here by Rob Caplan。我认为它会满足您的需求 - 您可以在那里放置任何过渡,如果您想稍微调暗屏幕,您可能会考虑放置具有合适颜色和不透明度的矩形。
假设我的主屏幕上有一张地图和一个命令栏(就像在地图应用中一样)。在按下 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"
来显示全屏弹出按钮,但这对您想要定义的过渡和变暗的背景没有帮助。
为了做你想做的事,我会使用 UserControl 和 PopUp 的组合——非常好的例子 is showed here by Rob Caplan。我认为它会满足您的需求 - 您可以在那里放置任何过渡,如果您想稍微调暗屏幕,您可能会考虑放置具有合适颜色和不透明度的矩形。