• 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>
    View Code

        然后我们就可以在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;
            }
    View Code

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

        到此就可以显示窗口了

        

     

  • 相关阅读:
    Redis高可用配置(Keepalived)
    Redis断线重连编码注意事项
    Redis持久化配置
    真正实现Netty私有协议开发
    winform 程序隐藏窗口运行
    VirtualBox设置共享文件夹和镜像访问的方法
    SSIS父子维度
    SSIS 抽取excel出错:所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册
    .net C#实现 中文转Unicode、Unicode转中文 及与js对应关系
    HttpHelper使用记录
  • 原文地址:https://www.cnblogs.com/liguifa/p/3819091.html
Copyright © 2020-2023  润新知