然后在App.xaml中引入我们编写好的资源字典。
<Application x:Class="HHChaosToolkit.Sample.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:HHChaosToolkit.Sample" xmlns:viewModels="using:HHChaosToolkit.Sample.ViewModels"> <Application.Resources> <ResourceDictionary> <viewModels:ViewModelLocator x:Name="Locator" /> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Themes/Toast.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>使用时,我们只需要为Toast控件设置预定义的样式即可,或者在我们上面写的ToastHelper类中增加调用自定义样式Toast的静态方法:
public static void SendCustomToast(string content, TimeSpan? duration = null) { var toast = new Toast(content); toast.Style = App.Current.Resources["CustomToastStyle"] as Style; if (duration.HasValue) { toast.Duration = duration.Value; } toast.Show(); } 结尾Toast组件是我的开源项目HHChaosToolkit项目中的一部分,其中还有一个与Toast原理差不多的组件WaitingDialog,原理是一样的,之后不会再单独写博文赘述了。
完整的示例代码在这里(GitHub),欢迎大家随意吐槽&提意见!