你的位置:首页 > 软件开发 > ASP.net > UWP中的消息提示框(二)

UWP中的消息提示框(二)

发布时间:2016-03-01 17:00:09
在UWP中的消息提示框(一)中介绍了一些常见的需要用户主动去干涉的一些消息提示框,接下来打算聊聊不需要用户主动去干涉的一些消息提示框。效果就是像双击退出的那种提示框。 先说说比较简单的吧,通过系统Toast通知方式(和Android的Toast是有区别的额,更像Androi ...

  在UWP中的消息提示框(一)中介绍了一些常见的需要用户主动去干涉的一些消息提示框,接下来打算聊聊不需要用户主动去干涉的一些消息提示框。效果就是像双击退出的那种提示框。

  先说说比较简单的吧,通过系统Toast通知方式(和Android的Toast是有区别的额,更像Android里的Notification),关于这种方式,在这里就不贴代码了,MSDN上讲的很清楚(快速入门:发送 Toast 通知),需要注意的事作为应用内消息提示弹出框,应该不要带音效(有特殊需求貌似也行),但是,Toast通知会在系统通知中心留下通知内容,需要监听ToastNotification实例的Dismissed事件并通过ToastNotificationManager.History.Remove(toastTag)实现在Toast通知消失后不在系统通知中心留下痕迹。还有个问题就是这种方式在PC上如果APP并不是全屏情况运行,在右下角弹出提示个人觉得有些不太友好,或者是平板上(且是平板模式)分屏运行(且当前APP在左边一块)从右下角弹出个提示用户会懵逼的。

  既然说到Android的Toast,那就不妨再UWP里来实现类似Android Toast的消息提示框。和上篇一样,我还是通过Popup+UserControl的方式来实现,当然 实现方式也是比较多的,比如阿迪王的博客:模态框进度指示器的实现 

  Adnroid里大多手机都是在屏幕靠下位置一块带点透明度的黑**域显示提示内容,通常为2S左右淡出消失,一般情况下这就是Adnroid里的Toast通知,描述的不大清楚,看图吧。

 UWP中的消息提示框(二)

  在UWP里实现的话,就是在UserControl里写好布局,然后再写一个延迟2s执行的淡出动画。代码大致为:

NotifyPopup.xaml:

<UserControl.Resources>    <Storyboard x:Name="sbOut" >      <DoubleAnimationUsingKeyFrames Storyboard.TargetName="mainGrid"                Storyboard.TargetProperty="Opacity"                BeginTime="0:0:0">        <SplineDoubleKeyFrame KeyTime="00:00:00.00" Value="1"/>        <SplineDoubleKeyFrame KeyTime="00:00:00.400" Value="0.0"/>      </DoubleAnimationUsingKeyFrames>    </Storyboard>  </UserControl.Resources>  <Grid x:Name="mainGrid" >    <Grid.RowDefinitions>      <RowDefinition Height="*" />      <RowDefinition Height="*" />    </Grid.RowDefinitions>    <Border Grid.Row="1" Background="#aa000000" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,50" Padding="20,15">      <TextBlock x:Name="tbNotify" TextWrapping="Wrap" Foreground="#daffffff"/>    </Border>  </Grid>

原标题:UWP中的消息提示框(二)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录