使用Toast通知示例
前面我们使用了MessageDialog来作为弹窗,这里来介绍一个更加高大上的Toast通知。
Toast通知本质上动力是由XML来提供的,一开始我还不相信不知道XML原来有这么大的威力。现在就来看看和Toast相关的知识。
1)实例化ToastNotification类。
ToastNotification toast1 = new ToastNotification(xdoc);
2)使用ToastNotificationManager来管理Toast通知,包括添加、展示、移除、获取通知等等。
ToastNotificationManager.CreateToastNotifier().Show(toast1);
3)在第一步中的xdoc就是一段XML数据,它从何而来呢?
XmlDocument xdoc = new XmlDocument();
4)上一步代码实例化了一个XML,但是它没有数据呀,数据从哪来呢?
xdoc.LoadXml(txtXML.Text);
5)这段代码就将一段Text导入了XML中。而Text数据有很多种获取方式。在下文中自然会提到。
Toast的XML模板有许多,我们可以直接来获取它们。用枚举和强大的var即可。
var items = Enum.GetNames(typeof(ToastTemplateType));
那么就正式开工了,因为重复的属性太多了我就大概设置了2个Style资源。
<Page.Resources>
<Style TargetType="TextBlock" x:Key="StyleHeaderTextBlock">
<Setter Property="FontSize" Value="40"/>
<Setter Property="FontFamily" Value="华文琥珀"/>
<Setter Property="Foreground" Value="HotPink"/>
<Setter Property="Margin" Value="12"/>
</Style>
<Style TargetType="Button" x:Key="StyleToastButton">
<Setter Property="Width" Value="180"/>
<Setter Property="Height" Value="50"/>
<Setter Property="Background" Value="Aqua"/>
<Setter Property="FontSize" Value="21"/>
<Setter Property="Margin" Value="12"/>
<Setter Property="Content" Value="显示Toast通知" />
</Style>
</Page.Resources>
下面是第一部分用于生成Toast通知。
<StackPanel Orientation="Vertical" Grid.Column="0" Margin="12">
<TextBlock Text="生成Toast通知" Style="{StaticResource StyleHeaderTextBlock}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock FontSize="24" Foreground="Wheat" Text="请选择一个模板:" VerticalAlignment="Center"/>
<ComboBox Name="comboBoxToast" Foreground="Green" Width="275"
SelectionChanged="comboBoxToast_SelectionChanged"/>
</StackPanel>
<TextBox Foreground="Green" x:Name="txtXML"