-
-
Notifications
You must be signed in to change notification settings - Fork 110
Toast zh CN
适用于: v1.1.12
或更新的版本
类名: Toast
命名空间: Panuon.WPF.UI
位于: SharedResources/Panuon.WPF.UI/Helpers/Toast.cs
静态类
提供一系列属性和方法, 用于在 WindowX 窗体X 上显示弹出消息。
Toast 弹出消息 不依赖任何 Panuon.WPF.UI
中的资源字典,即使不引用 Control.xaml
,也可使用 Toast 弹出消息 或自定义它的样式。
该类型没有此内容。
该类型没有此内容。
该方法带有多个重载,请根据实际需要,选择合适的重载方法。
全部参数: 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 类型,将会引发异常。
类型: System.Windows.Style
默认值: [见资源键[LabelStyle](#LabelStyle)]
获取或设置取消 Button 按钮 控件的样式。
类型: Panuon.WPF.UI.ToastPosition
默认值: [Bottom
] / Left
/ Top
/ Right
/ Center
获取或设置默认弹出消息的位置。
类型: System.Double
默认值: 20
获取或设置距离窗体边缘的默认间距。
类型: Panuon.WPF.UI.AnimationEase
默认值: [None
] / BackIn
/ BackOut
/ BackInOut
_ ...
获取或设置消息弹出动画使用的缓动函数。有关WPF缓动函数的更多信息,请查阅 EasingFunction
相关的文档。
类型: System.Duration
默认值: 0:0:0.5
...
获取或设置消息弹出动画的持续时间。
有关如何使用资源键的更多内容, 请查看命名与约定-资源键。
一些无法从外部访问的属性已被隐去。
资源键: {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>
using Panuon.WPF.UI;
···
Toast.Show(window, "This is a toast message.");
//或者在WindowX中调用
Toast("This is a toast message.");
将以下定义放置在 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"
···
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:pu="https://opensource.panuon.com/wpf-ui">
<!--注意,出于某种未知的原因,无论是否在App.xaml中直接定义,都需要在根资源字典中再嵌套一层资源字典。-->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<!--x:Key的值是任意的,没有特殊要求-->
<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>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
using Panuon.WPF.UI;
···
Toast.Show(window, "This is a toast message.");
//或者在WindowX中调用
Toast("This is a toast message.");