Windows Phone开发学习笔记(1)---------自定义弹框

                             Windows Phone开发学习笔记(1)

                                          ---------自定义弹框

    在WP中自定义弹框是可以通过Popup类实现的。

    Popup的语法为:

            [ContentPropertyAttribute("Child")]

            [LocalizabilityAttribute(LocalizationCategory.None)]

            public class Popup : FrameworkElement, IAddChild;

     这是Popup使用的小列子

            Popup codePopup = new Popup();

            TextBlock popupText = new TextBlock();

            popupText.Text = "Popup Text";

              popupText.Background = Brushes.LightBlue;popupText.Foreground = Brushes.Blue;

            codePopup.Child = popupText;

    当然上面都是从MSDN上抄的,下面我们来使用一下:

    新建一个window phone项目,名字随便,新建一个类用来弹框,命名MyMessageBox;在其上添加成员变量,private Popup popup;

    新建一个控件布局文件,命名Message,用于弹框的布局;

    在Message里添加你想要的控件;

    我在这里添加的为: 

<UserControl x:Class="AppStudy_1.Message"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    d:DesignHeight="480" d:DesignWidth="480">

    <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
        <TextBlock Text="李贵发" FontSize="100" />
        <Button Content="OK"/>
    </Grid>
</UserControl>

    然后我们就可以在MyMessageBox中添加显示的代码了,在MyMessageBox添加方法Show(),用于显示弹框

    首先我们要把Popup new 出来来即:popup=new Popup();

    然后new 一个StackPanel的对象用于存放弹框界面,

    将Message加入StackPanel,

    给StackPanel创建模板,

    之后将Popup 对象的字节点设为StackPanel,

    将Popup 显示出来

    代码为: 

public void Show()
        {
            popup = new Popup();
            StackPanel panel = new StackPanel();
            panel.Children.Add(new AppStudy_1.Message());
            panel.Children.Add(new Rectangle { Width = 480, Height = 800, Fill = new SolidColorBrush(Colors.Gray), Opacity = 0.5 });
            popup.Child = panel;
            popup.IsOpen = true;
        }

    在主窗口中添加Button并设置单击函数,执行Show方法;

    到此就可以显示窗口了

    

Windows Phone开发学习笔记(1)---------自定义弹框

时间: 2024-10-18 18:54:09

Windows Phone开发学习笔记(1)---------自定义弹框的相关文章

【windows phone开发学习笔记】之页面导航

最近用了一个多月时间终于把看C#看完了(其实之前也看过曾瑛老师的视频教程,无奈看完后基本都忘记差不多了,当时尝试wp开发时非常吃力,只得扔下wp重新学习C#).再次看完C#,于是又重新开始了学习wp开发.此后,我会把我学习过程中的笔记与大家分享,共同交流和学习.我的微博账号是@马and康: 页面导航也就是在应用内在的几个页面之间切换,本例是可以从主界面导航到界面1.界面2.当然也支持从界面1.界面2导航到主界面,这是一个很简单的例子,不过无论多复杂的其应用原理跟这也都是一样的.导航主要可以运用两

Android深度探索(卷1)HAL与驱动开发学习笔记(2)

Android深度探索(卷1)HAL与驱动开发学习笔记(2) 第二章搭建Android开发环境 书中介绍了两种JDK的安装方法, 方法一: 从官网下载JDK并进行配置,解压后在终端打开profile文件来设置PATH环境变量(# soure /etc/profile),打开profile文件后输入下面的内容 export PATH=.:developer/jdk6/bin:$PATH 保存profile文件以后,有两种方法可以重新加载profile文件. 1.# sourse  /etc/pro

Windows phone 8 学习笔记(5) 图块与通知(转)

基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认图块,还可以有若干个次要图块.另外,通知与图块的关系比较密切,我们可以通过在接受到消息时动态更新图块来达到适时的效果.我们本节把图块和通知放在一起讲. 快速导航:一.图块二.图块更新计划三.本地通知四.推送通知 一.图块 1)定义默认图块 默认图块只能在清单文件中定义它,并且选定的图块模板后就不能再改变,除非重新发布应用,但是我们可以更新同类型的模板.应用安装后默

Windows phone 8 学习笔记(4) 应用的启动(转)

Windows phone 8 的应用除了可以直接从开始菜单以及应用列表中打开外,还可以通过其他的方式打开.照片中心.音乐+视频中心提供扩展支持应用从此启动.另外,我们还可以通过文件关联.URI关联的方式启动应用. 快速导航:一.扩展音乐+视频中心二.扩展照片中心三.文件关联以及SD卡访问四.URI关联五.启动我的其他应用和启动内置应用 一.扩展音乐+视频中心 1)在音乐+视频中心启动应用 扩展音乐+视频中心第一步就是要保证应用可以从音乐+视频中心启动,我们需要手工修改 Windows Phon

Windows phone 8 学习笔记(9) 集成(转)

本节整理了之前并没有提到的Windows phone 8 系统相关集成支持,包括选择器.锁定屏幕的.联系人的访问等.选择器列举了若干内置应用提供的相关支持:锁定屏幕展示了我们可以对锁定屏幕提供背景图像,屏幕通知等功能:联系人访问演示了对联系人的管理维护和只读访问. 快速导航:一.选择器二.锁定屏幕三.联系人访问 一.选择器 选择器为手机内置应用对您的开发提供的相关支持,通过选择器你可以直接调用相机应用捕获一张照片到你的应用,或者调用联系人的相关资料,保存铃声等操作. 下面列举了大部分常用选择器:

IBatis .NET 开发学习笔记&mdash;&mdash;.NET 开发环境搭建

大家好,今天给大家带来的是web应用程序配置,至于windows应用程序或者其他类型解决方案可以相同的配置,web应用程序配置文件为web.config,windows应用程序是app.config. 通过以下步骤可以建立属于你自己的环境: 1.首先,肯定是打开Visual Studio(文章后面简称VS),如果你有其他工具开发,我也不介意,反正我用VS,VS目前最新版是2013,不过我喜欢复古,所以,我目前用安装VS2010来当作教程,不管目前是多少版本了,都可以同理得到. 2.然后,新建一个

IOS开发学习笔记-(2)键盘控制,键盘类型设置,alert 对话框

一.关闭键盘,放弃第一响应者,处理思路有两种 ① 使用文本框的 Did End on Exit 绑定事件 ② UIControl on Touch 事件 都去操作 sender 的  resignFirstResponder #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtUserName; @pro

shiro学习笔记_0600_自定义realm实现授权

博客shiro学习笔记_0400_自定义Realm实现身份认证 介绍了认证,这里介绍授权. 1,仅仅通过配置文件来指定权限不够灵活且不方便.在实际的应用中大多数情况下都是将用户信息,角色信息,权限信息 保存到了数据库中.所以需要从数据库中去获取相关的数据信息.可以使用 shiro 提供的JdbcRealm来实现,,也可以自定义realm来实现.使用jdbcRealm往往也不够灵活.所以在实际应用中大多数情况都是自定义Realm来实现. 2,自定义Realm 需要继承 AuthorizingRea

iOS开发学习笔记:基础篇

iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行. 创建新工程 Xcode提供了很多种工程模