zoukankan      html  css  js  c++  java
  • windows phone 8.1开发:(消息弹出框)强大的ContentDialog

    原文出自:http://www.bcmeng.com/contentdialog/

    在应用开发中我们必不可少的会使用到消息框,windows phone8中的messagebox在windows phone8.1中变成了MessageDialog.使用方法大体相差不大.不过MessageDialog的功能过于简单,许多时候无法满足我们的实际需要.在windows phone 8.1中出现了ContentDialog,ContentDialog不仅可以选择半屏或者全屏展示,里面的内容还可以像一个XAML页面一样实现自定义.
    下面我们通过代码和实际运行效果来看一下:

    ContentDialog半屏:

    private  async void Button_Click(object sender, RoutedEventArgs e)//半屏
            {
                ContentDialog dialog = new ContentDialog()
                {
                    Title = "Download updates?", //标题
                    Content = "This update will clean the slate for Iron Man",//内容
                    FullSizeDesired=false,  //是否全屏展示
                    PrimaryButtonText = "Yes, clean it",//第一个按钮内容
                    SecondaryButtonText = "No, Dont!"
                };
                dialog.SecondaryButtonClick += dialog_SecondaryButtonClick;//第二个按钮单击事件
                dialog.PrimaryButtonClick += dialog_PrimaryButtonClick;
    
                ContentDialogResult result = await dialog.ShowAsync();
                if (result == ContentDialogResult.Primary) { } //处理第一个按钮的返回
                else if (result == ContentDialogResult.Secondary) { }//处理第二个按钮的返回
    
            }
    
           async  void dialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
            {
                await new MessageDialog("您选择了第一个按钮").ShowAsync();
            }
    
            async  void dialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
            {
                await new MessageDialog("您选择了第二个按钮").ShowAsync();
            }

    ContentDialog全屏:

    private async void Button_Click_1(object sender, RoutedEventArgs e)//全屏
            {
                ContentDialog contentdialog = new ContentDialog();
                contentdialog.Title = "编程小梦";
                contentdialog.Content = "专注于windows phone应用开发";
                contentdialog.PrimaryButtonText = "赞一个";
                contentdialog.SecondaryButtonText = "顶一个";
                contentdialog.FullSizeDesired = true;
                await contentdialog.ShowAsync();
            }

    ContentDialog自定义1:

    <ContentDialog
        x:Class="ContentDialogDemo.ContentDialog1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:ContentDialogDemo"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="DIALOG TITLE"
        PrimaryButtonText="sign in"  
        SecondaryButtonText="cancel"
        PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
        SecondaryButtonClick="ContentDialog_SecondaryButtonClick">
    
        <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <TextBox Name="email" Header="Email address"/>
            <PasswordBox  Name="password" Header="Password"/>
            <CheckBox Name="showPassword" Content="Show password"/>
    
            <!-- 内容主体 -->
            <TextBlock Name="body" Style="{StaticResource MessageDialogContentStyle}" TextWrapping="Wrap">
                <TextBlock.Text>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
                </TextBlock.Text>
            </TextBlock>
        </StackPanel>
    </ContentDialog>

    调用方法:

    ContentDialog1 contentDialog1 = new ContentDialog1(); //ContentDialog1是系统自带的内容对话框页面
           await contentDialog1.ShowAsync();

    ContentDialog自定义2:

    <ContentDialog
        x:Class="ContentDialogDemo.ContentDialog2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:ContentDialogDemo"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="小梦词典"
        PrimaryButtonText="关于"  
        SecondaryButtonText="好评"
        PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
        SecondaryButtonClick="ContentDialog_SecondaryButtonClick"
    <Grid >
            <GridView  HorizontalAlignment="Center">
    
                <GridViewItem Margin="5">
                    <Button  Content="查词" Background="#FFC5246D"
                            ></Button>
                </GridViewItem>
                <GridViewItem Margin="5">
                    <Button Content="翻译"  Background="#FFEAC418"
                            Name="translate" ></Button>
                </GridViewItem>
                <GridViewItem Margin="5">
                    <Button Content="生词"  Background="#FFCB32DA"
                           ></Button>
                </GridViewItem>
                <GridViewItem Margin="5">
                    <Button Content="关于"  Background="#FF58E4B5"
                            ></Button>
                </GridViewItem>
            </GridView>
        </Grid>
    </ContentDialog>

    调用方法和上面一样,最终运行效果如下:

    windows phone 8.1开发:强大的ContentDialog - 编程小梦 - 1windows phone 8.1开发:强大的ContentDialog - 编程小梦 - 2windows phone 8.1开发:强大的ContentDialog - 编程小梦 - 3windows phone 8.1开发:强大的ContentDialog - 编程小梦 - 4

  • 相关阅读:
    exgcd模板
    jnYaVpqwsq
    Http状态码完整说明
    字符串的常用方法
    MVC4.0 Controller和View重复加载
    ASP.NET MVC4中的Model验证 移除指定验证信息
    枚举类型定义字符串
    MVC4.0系统开发新手历程(四)数据列表查询
    MVC4.0系统开发新手历程(三)---数据导入计算
    MVC4.0系统开发新手历程(二)
  • 原文地址:https://www.cnblogs.com/xdoudou/p/3945020.html
Copyright © 2011-2022 走看看