集结号3d捕鱼ipad 当前位置:首页>集结号3d捕鱼ipad>正文

集结号3d捕鱼ipad

发布时间:2018-11-21

原标题:UWP Popup 弹出提示框

如遇【线上娱乐站】不能自动打开,请复制 http://da8.us 到浏览器,注册自动送8-88试 ̶̶̶̶̶̶̶̶̶̶玩 ̷̷̷̷̷̷̷̷̷̷金。体验各种类的线上PT/DT/MG/PNG ̶̶̶̶̶̶̶̶̶̶老 ̷̷̷̷̷̷̷̷̷̷虎 ̷̷̷̷̷̷̷̷̷̷机、 ̷̷̷̷̷̷̷̷̷̷真* ̷̷̷̷̷̷̷̷̷̷人* ̶̶̶̶̶̶̶̶̶̶百* ̶̶̶̶̶̶̶̶̶̶家 ̷̷̷̷̷̷̷̷̷̷*乐*游戏等免费试玩、优惠活动,7*24小时专业服务

专打主控室都不为不过,这也是为什么会说基拉一旦带着杀敌决心的话就算是阿斯兰和飞鸟真一起联手对付他都不会是对手,他在战场上专门控制不打主控室并且不杀人束手束脚影响视力发挥。

德扑圈辅助软件有哪些

李隆基又交代了太子几句,这才命摆驾回寝宫,他先送杨贵妃回了后宫,自己则向大同殿匆匆而去。
所以满清这一下子可是出奇的团结,毕竟满清的江山没了他们的一切也会跟着没了,能不团结才怪,起码平时的内斗,权力斗争全部都放下了,以惊人的速度组织起数十万满清大军浩浩荡荡的南下。

弗兰德道:“那银斗魂队伍也行。你没看到,他们中只有一名刚刚达到金斗魂称号的魂师么?”

一:需求

做一个类似于安卓的弹出消息框,如图。当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户。

 

二:Popup 类

不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类。当弹窗打开时,会自动放在当前应用页面的最顶层。

//获取或设置要在弹出项中承载的内容。
public UIElement Child { get; set; }

Popup类里有一个Child属性,用来存弹窗中的内容。

child的类型是UIElement。

UIElement 是具有可视外观并可以处理基本输入的大多数对象的基类。

因此child属性可以存grid stackpannel 这些......

 

//获取或设置弹出项当前是否显示在屏幕上。
//如果当前显示了弹出项,则为 **true**;否则为 **false**。 默认值为 **false**。
public bool IsOpen { get; set; }

Popup类还有一个IsOpen属性,当会true的时候,弹窗是打开的。false则相反。

 

三:ps。。。

当创建一个popup的对象,并且将它的IsOpen属性设置为true的时候,代表将会有一个弹窗 显示在当前应用的最顶层。

像上面图中的做法,看上去只有一小块是弹窗,其实我的做法是,最顶层的popup的child属性里放的是一个grid,在grid里才是我显示出来的那一小块提示框,因为grid如果没有背景颜色的话,底下一层是会显示的,所以没有什么问题。不会因为盖了一层grid,底下的内容会被盖住。

 

 

四:直接上代码

创建一个用户控件

<UserControl
    x:Class="One.UC.PopupNotice"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:One.UC"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400">

    <UserControl.Resources>

        <Storyboard x:Name="PopupIn">
            <DoubleAnimation From="0"
                             To="1"
                             Duration="00:00:00.5"
                             Storyboard.TargetName="PopupContainer"
                             Storyboard.TargetProperty="Opacity"
                             >
                <DoubleAnimation.EasingFunction>
                    <PowerEase EasingMode="EaseOut"></PowerEase>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
            <DoubleAnimation From="-10"
                             To="-100"
                             Duration="00:00:00.5"
                             Storyboard.TargetName="PopupContainer"
                             Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"
                             >
                <DoubleAnimation.EasingFunction>
                    <PowerEase EasingMode="EaseOut"></PowerEase>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>

        <Storyboard x:Name="PopupOut">
            <DoubleAnimation From="1"
                             To="0"
                             Duration="00:00:00.5"
                             Storyboard.TargetName="PopupContainer"
                             Storyboard.TargetProperty="Opacity"
                             >
                <DoubleAnimation.EasingFunction>
                    <PowerEase EasingMode="EaseOut"></PowerEase>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
            <DoubleAnimation From="-100"
                             To="-10"
                             Duration="00:00:00.5"
                             Storyboard.TargetName="PopupContainer"
                             Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"
                             >
                <DoubleAnimation.EasingFunction>
                    <PowerEase EasingMode="EaseOut"></PowerEase>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>

    </UserControl.Resources>

    <Grid>
        
        <StackPanel Background="#18C3D8"
                    Padding="10"
                    HorizontalAlignment="Center"
                    VerticalAlignment="Bottom"
                    Name="PopupContainer"
                    Opacity="0">
            
            <!--改变Y轴和透明底-->
            <StackPanel.RenderTransform>
                <TranslateTransform Y="-10"></TranslateTransform>
            </StackPanel.RenderTransform>
            
            <TextBlock Name="PopupContent"></TextBlock>
            
        </StackPanel>
        
        
    </Grid>
    
    
</UserControl>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading.Tasks;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236

namespace One.UC
{
    public sealed partial class PopupNotice : UserControl
    {
        //存放弹出框中的信息
        private string _popupContent;

        //创建一个popup对象
        private Popup _popup = null;


        public PopupNotice()
        {
            this.InitializeComponent();

            //将当前的长和框 赋值给控件
            this.Width = Window.Current.Bounds.Width;
            this.Height = Window.Current.Bounds.Height;

            //将当前的控价赋值给弹窗的Child属性  Child属性是弹窗需要显示的内容 当前的this是一个Grid控件。
            _popup = new Popup();
            _popup.Child = this;

            //给当前的grid添加一个loaded事件,当使用了ShowAPopup()的时候,也就是弹窗显示了,这个弹窗的内容就是我们的grid,所以我们需要将动画打开了。
            this.Loaded += PopupNoticeLoaded;

        }

        /// <summary>
        /// 重载
        /// </summary>
        /// <param name="popupContentString">弹出框中的内容</param>
        public PopupNotice(string popupContentString):this()
        {
            _popupContent = popupContentString;
        }

        /// <summary>
        /// 显示一个popup弹窗 当需要显示一个弹窗时,执行此方法
        /// </summary>
        public void ShowAPopup()
        {
            _popup.IsOpen = true;
        }


        /// <summary>
        /// 弹窗加载好了
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void PopupNoticeLoaded(object sender, RoutedEventArgs e)
        {
            PopupContent.Text = _popupContent;

            //打开动画
            this.PopupIn.Begin();
            //当进入动画执行之后,代表着弹窗已经到指定位置了,再指定位置等一秒 就可以消失回去了
            this.PopupIn.Completed += PopupInCompleted;
        }


        /// <summary>
        /// 当进入动画完成后 到此
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public async void PopupInCompleted(object sender, object e)
        {
            //在原地续一秒
            await Task.Delay(1000);

            //将消失动画打开
            this.PopupOut.Begin();
            //popout 动画完成后 触发
            this.PopupOut.Completed += PopupOutCompleted;
        }


        //弹窗退出动画结束 代表整个过程结束 将弹窗关闭
        public void PopupOutCompleted(object sender, object e)
        {
            _popup.IsOpen = false;
        }


       


    }
}

 

 

在要显示一个弹窗的代码里调用ShowAPopup()

 PopupNotice popupNotice = new PopupNotice("正在后台下载......");
 popupNotice.ShowAPopup();

 

最终效果:

 

 

 

 

--------some words----------

1.Popup  弹出

2.UIElement  ui元素

----------the   end------------

 

编辑:公石通海

发布时间:2018-11-21 15:54:06

当前文章:http://www.6066655.cn/so/dk00h.html

德友圈怎么在电脑上玩 翻牌单机游戏 翻牌游戏 方块学园有哪些人 方块娱乐有人工客服么? 欢乐岛棋牌 欢乐斗棋牌官网 集杰大连棋牌安卓app

12707 79816 45543 12704 41451 7313942067 78071 54809

责任编辑:建北伯

随机推荐