Skip to content

Toast zh CN

末城via edited this page Jun 17, 2023 · 2 revisions

Toast 弹出消息

返回目录

适用于:   v1.0.0 或更新的版本

概述

类名:    Toast
命名空间:    Panuon.WPF.UI
位于:    SharedResources/Panuon.WPF.UI/Helpers/Toast.cs
静态类

提供一系列属性和方法, 用于在 WindowX 窗体X 上显示弹出消息。
Toast 弹出消息 不依赖任何 Panuon.WPF.UI 中的资源字典,即使不引用 Control.xaml ,也可使用 Toast 弹出消息 或自定义它的样式。

滚动至示例


备注

属性间的相互作用

该类型没有此内容。

自定义样式提示

该类型没有此内容。


方法

Show

该方法带有多个重载,请根据实际需要,选择合适的重载方法。
全部参数:    WindowX window, string message, ToastPosition position, double offset, int durationMs, ToastSetting setting, ToastWindow targetWindow
返回值:    Panuon.WPF.UI.IPendingHandler 显示一个弹出消息。
window: 指定要弹出消息的 WindowX 窗体X 。如果此参数为空,弹出消息会使用 targetWindow 参数的值来寻找承载消息的窗体容器。但是,如果没有通过 targetWindow 参数找到对应的窗体,或目标窗体不是 WindowX 窗体X 类型,将会引发异常。
message: 要显示的消息。
position: 要显示的消息位置,相对于窗体。
offset: 消息的坐标位置偏移量,相对于窗体边缘。
durationMs: 消息的持续时间,单位为毫秒。
setting: 弹出消息的属性设定。如果此参数不为空,将不再使用 ToastSettings.Setting 属性中的值。
targetWindow: 弹出消息自适应寻找窗体的逻辑。MainWindow 表示将在当前 Application.Current.MainWindow 窗体上弹出消息。ActiveWindow 表示将在当前 Application.Current.Windows 中寻找 IsActive=True 的窗体。注意,如果没有找到对应的窗体,或目标窗体不是 WindowX 窗体X 类型,将会引发异常。


ToastSetting 中的属性

LabelStyle

类型:    System.Windows.Style
默认值:    [见资源键[LabelStyle](#LabelStyle)]
获取或设置取消 Button 按钮 控件的样式。

DefaultPosition

类型:    Panuon.WPF.UI.ToastPosition
默认值:    [Bottom] / Left / Top / Right / Center
获取或设置默认弹出消息的位置。

Spacing

类型:    System.Double
默认值:    20
获取或设置距离窗体边缘的默认间距。

AnimationEase

类型:    Panuon.WPF.UI.AnimationEase
默认值:    [None] / BackIn / BackOut / BackInOut_ ...
获取或设置消息弹出动画使用的缓动函数。有关WPF缓动函数的更多信息,请查阅 EasingFunction 相关的文档。

AnimationDuration

类型:    System.Duration
默认值:    0:0:0.5 ...
获取或设置消息弹出动画的持续时间。


公开的资源键

有关如何使用资源键的更多内容, 请查看命名与约定-资源键
一些无法从外部访问的属性已被隐去。

LabelStyleKey

资源键:    {ComponentResourceKey ResourceId=LabelStyleKey, TypeInTargetAssembly={x:Type pu:Toast}}
缩略资源键:    {pu:Toast.LabelStyleKey}

弹出消息标签的样式。

<Style x:Key="{ComponentResourceKey ResourceId=LabelStyleKey, TypeInTargetAssembly={x:Type local:Toast}}"
       TargetType="Label"
       BasedOn="{StaticResource {x:Static rs:StyleKeys.LabelStyle}}">
    <Setter Property="local:IconHelper.FontFamily"
            Value="{Binding IconFontFamily, Source={x:Static local:GlobalSettings.Setting}}" />
    <Setter Property="local:IconHelper.FontSize"
            Value="{Binding IconFontSize, Source={x:Static local:GlobalSettings.Setting}}" />
    <Setter Property="local:ShadowHelper.BlurRadius"
            Value="25" />
    <Setter Property="FontFamily"
            Value="{Binding FontFamily, Source={x:Static local:GlobalSettings.Setting}}" />
    <Setter Property="FontSize"
            Value="{Binding FontSize, Source={x:Static local:GlobalSettings.Setting}}" />
    <Setter Property="MaxWidth"
            Value="350" />
    <Setter Property="VerticalContentAlignment"
            Value="Stretch" />
    <Setter Property="HorizontalContentAlignment"
            Value="Stretch" />
    <Setter Property="Padding"
            Value="15,7" />
    <Setter Property="Background"
            Value="Black" />
    <Setter Property="Foreground"
            Value="White" />
    <Setter Property="local:LabelHelper.CornerRadius"
            Value="2" />
    <Setter Property="local:LabelHelper.ShadowColor"
            Value="Gray" />
</Style>

示例

示例1

using Panuon.WPF.UI;
···

Toast.Show(window, "This is a toast message.");

//或者在WindowX中调用
Toast("This is a toast message.");

示例2

将以下定义放置在 App.xaml 中的 ResourceDictionary 中(或其他资源字典文件中,但要确保在 App.xaml 中引用,或通过 cs代码 装填到 Application.Current.Resources.MergedDictionaries 中)。如果不清楚如何放置,请下载源代码并查看 Samples 项目。

xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:puconfig="clr-namespace:Panuon.WPF.UI.Configurations;assembly=Panuon.WPF.UI"
···

<pu:ToastSettings x:Key="toastSetting"
                  Spacing="25">
    <pu:ToastSettings.LabelStyle>
        <Style TargetType="Label"
               BasedOn="{StaticResource {x:Static pu:Toast.LabelStyleKey}}">
            <Setter Property="Background"
                    Value="#80BEE8" />
            <Setter Property="Foreground"
                    Value="#FFFFFF" />
            <Setter Property="pu:LabelHelper.CornerRadius"
                    Value="15" />
            <Setter Property="pu:LabelHelper.ShadowColor"
                    Value="#80BEE8" />
            <Setter Property="pu:ShadowHelper.Opacity"
                    Value="0.5" />
        </Style>
    </pu:ToastSettings.LabelStyle>
</pu:ToastSettings>
using Panuon.WPF.UI;
···

Toast.Show(window, "This is a toast message.");

//或者在WindowX中调用
Toast("This is a toast message.");

Language

WPF 简体中文

Clone this wiki locally