如何显示自定义MessageBox?

时间:2014-05-26 06:12:15

标签: c# windows-phone-7 windows-phone-8 dll portable-class-library

我想在我的Windows 8手机应用程序中显示类似MessageBox的内容,不幸的是我无法找到办法。

Test.Show("Desc", "Title");

和我在DLL中的方法

public static class Test
{
    public static void Show(object buttonsContent, object title)
    {

    }
}
  • 请有更多的东西...... *

如何在APP中的类库中显示我的Customized MessageBox

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

因为在这个示例中,您已经向我们传递了两个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)可以非常轻松地完成此操作。它将在现有视图的顶部自定义内容,您可以将内容与对话框按钮放在一起,然后您可以处理这些内容。

答案 2 :(得分:0)

您可以轻松地重新设置Windows Phone Toolkit对{{3}}的控件的样式 。 您需要在Blend中打开.xaml文件并编辑CustomMessageBox样式的副本,以便在自己的项目中使用它。您可以在此样式的CustomMessageBox内添加自己的内容。然后,您可以将此样式复制到可以访问它的位置,在下面的示例中,我将其放在ControlTemplate文件中。 你声明App.xaml是这样的:

CustomMessageBox

您可以在CustomMessageBox上设置的各种属性上控制TemplateBinding。例如,您可以设置自定义字体

new CustomMessageBox
   {
        Caption = "A messagebox",
        Style = App.Current.Resources["YourEditedStyleKey"] as Style,
   }.Show();

在自定义样式中使用模板绑定来使用此字体:

FontFamily = App.Current.Resources["MuseoSans500"] as FontFamily,

答案 3 :(得分:0)

您可以使用ChildWindow类,该类提供可以在父窗口上显示的窗口。

您可以查看示例here

答案 4 :(得分:0)

您可以在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;