AcManager.Controls.Helpers.ToastWin8Helper.ShowToast C# (CSharp) Метод

ShowToast() публичный статический Метод

public static ShowToast ( string title, string message, [ icon, System.Action click ) : void
title string
message string
icon [
click System.Action
Результат void
        public static void ShowToast(string title, string message, [NotNull] Uri icon, Action click) {
            var tempIcon = FilesStorage.Instance.GetFilename("Temporary", "Icon.png");

            if (!File.Exists(tempIcon)) {
                using (var iconStream = Application.GetResourceStream(icon)?.Stream) {
                    if (iconStream != null) {
                        using (var file = new FileStream(tempIcon, FileMode.Create)) {
                            iconStream.CopyTo(file);
                        }
                    }
                }
            }

            var content = new XmlDocument();
            content.LoadXml($@"<toast>
    <visual>
        <binding template=""ToastImageAndText02"">
            <image id=""1"" src=""file://{tempIcon}""/>
            <text id=""1"">{title}</text>
            <text id=""2"">{message}</text>
        </binding>
    </visual>
</toast>");

            var toast = new ToastNotification(content);
            if (click != null) {
                toast.Activated += (sender, args) => {
                    Application.Current.Dispatcher.Invoke(click);
                };
            }

            ToastNotifier.Show(toast);
        }
    }

Usage Example

Пример #1
0
        /// <summary>
        /// Show a toast.
        /// </summary>
        /// <param name="title">Ex.: “Something Happened”</param>
        /// <param name="message">Ex.: “This and that. Without dot in the end”</param>
        /// <param name="icon">Uri to some icon</param>
        /// <param name="click">Click action</param>
        public static void Show(string title, string message, [NotNull] Uri icon, Action click = null)
        {
            if (!_winToasterIsNotAvailable && !OptionFallbackMode)
            {
                try {
                    ToastWin8Helper.ShowToast(title, message, icon, click ?? _defaultAction);
                    return;
                } catch {
                    Logging.Warning("Win8 Toaster is not available");
                    _winToasterIsNotAvailable = true;
                }
            }

            ShowFallback(title, message, icon, click);
        }