如何显示自定义消息框

本文关键字:自定义消息 显示 何显示 | 更新日期: 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;