TriggerClick() public method

public TriggerClick ( ) : void
return void
Example #1
0
        void AppStateNewNotification(NotificationEventArgs e)
        {
            Notification = e;
            e.OnStarting();          
            if (e.AutoClickInSeconds > 0)
            {
                e.Duration = TimeSpan.FromSeconds(e.AutoClickInSeconds + 1);

                var _timer = new DispatcherTimer(TimeSpan.FromSeconds(1), DispatcherPriority.Normal, (sender, args) =>
                {
                    e.AutoClickInSeconds--;
                    e.AutoClickUpdate();
                    if (e.AutoClickInSeconds > 0) return;
                    var timer = sender as DispatcherTimer;
                    timer.Stop();
                    if (e.AutoClickInSeconds > int.MinValue) e.TriggerOptionClicked(e.AutoClickText, false);
                }, Application.Current.Dispatcher);

                _timer.Start();
            }
            switch (e.Style)
            {
                case NotificationStyle.Popup:
                    AddPopup(e);
                    break;
                case NotificationStyle.FreeText:
                    Execute.OnUIThread(() =>
                    {
                        var tb = new TextBlock
                        {
                            Tag = e.Id,
                            Text = e.Text,
                            HorizontalAlignment = e.HorizontalAlignment,
                            VerticalAlignment = e.VerticalAlignment,
                            Background = e.Background,
                            Foreground = e.Foreground,
                            FontSize = e.FontSize,
                            Padding = e.Padding,
                            Margin = e.Margin,
                            FontFamily = e.FontFamily,
                            TextAlignment = e.TextAlignment
                        };
                        tb.MouseDown += (es, s) => e.TriggerClick();
                        tb.TextWrapping = TextWrapping.Wrap;

                        if (e.Size != null)
                        {
                            tb.Width = e.Size.Width;
                            tb.Height = e.Size.Height;
                        }
                        _view.bFreeText.Children.Add(tb);
                        var dt = new DispatcherTimer {Interval = e.Duration};
                        dt.Tick += (es, s) =>
                        {
                            if (_view.bFreeText.Children.Contains(tb))
                            {
                                _view.bFreeText.Children.Remove(tb);
                            }
                            dt.Stop();
                            dt = null;
                        };
                        dt.Start();
                    });
                    break;
            }
        }