如何显示自定义消息框
本文关键字:自定义消息 显示 何显示 | 更新日期: 2023-09-27 18:05:01
我想在我的windows 8手机应用程序中显示像MessageBox这样的东西,不幸的是我无法找到一种方法来做到这一点。
Test.Show("Desc", "Title");
和我的方法在DLL
public static class Test
{
public static void Show(object buttonsContent, object title)
{
}
}
如何在APP.....的类库中显示我的Customized MessageBox
您可以尝试Windows Phone的Advanced MessageBox或Windows Phone Toolkit中的CustomMessageBox
因为在这个例子中,你给我们传递了两个String对象给Show(object, object)
方法,你可以只使用MessageBox.Show(String, String, MessageBoxButton)
来显示一个对话框。
但是如果你想在MessageBox中显示文本以外的东西,那么你必须自己实现一个对话框视图。这可以很容易地使用PopUp
类(http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.primitives.popup)完成。它将在现有视图的顶部自定义内容,您可以将内容与对话框按钮放在其中,然后您可以处理这些内容。
您可以轻松地重新设计Windows Phone Toolkit的CustomMessageBox
控件的样式.您需要在Blend中打开一个.xaml文件并编辑CustomMessageBox
样式的副本,以便您可以在自己的项目中使用它。您可以在这种样式的ControlTemplate
中添加自己的内容。然后将此样式复制到可以访问的地方,在下面的示例中,我将其放入App.xaml
文件中。您可以这样声明CustomMessageBox
:
new CustomMessageBox
{
Caption = "A messagebox",
Style = App.Current.Resources["YourEditedStyleKey"] as Style,
}.Show();
你可以在CustomMessageBox上设置的各种属性上控制TemplateBinding。例如,您可以设置自定义字体
FontFamily = App.Current.Resources["MuseoSans500"] as FontFamily,
并使用自定义样式的模板绑定来使用以下字体:
FontFamily="{TemplateBinding FontFamily}"
你可以使用ChildWindow类来提供一个可以显示在父窗口之上的窗口。
你可以在这里查看example
你可以在XAML设计页面上创建一个像这样的弹出控件
<Popup x:Name="_Popup">
<Border Margin="30,190,24,194" CornerRadius="17" BorderThickness="3" BorderBrush="Gray" Background="White" Opacity="0.9">
<Grid x:Name="MsgPanel" Grid.Row="1" VerticalAlignment="Center" Height="250">
<TextBlock Name="txtTitle" Text="Message" Foreground="Black" FontSize="28" HorizontalAlignment="Center" FontFamily="Calibri" Height="39" VerticalAlignment="Top" />
<Border Margin="6,70,6,105" BorderBrush="Black" CornerRadius="17" BorderThickness="3">
<TextBox Name="txtmsgMobNo" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black" MaxLength="10" FontSize="25" FontFamily="Courier New" FontWeight="Bold">
</TextBox>
</Border>
<Border Margin="58,150,222,40" CornerRadius="10" BorderThickness="3" Background="Silver" BorderBrush="Gray">
<Button Name="btnMsgSend" Content="Send" BorderBrush="{x:Null}" Background="{x:Null}" Foreground="Black" Height="68" Width="144" Click="btnMsgSend_Click" Margin="0,-10,0,0"></Button>
</Border>
</Grid>
</Border>
</Popup>
在你想打开弹出窗口的代码后面,放_Popup。Isopen = true;