internal void SelectAllTokensAndText() { var dispatcherQueue = DispatcherQueue.GetForCurrentThread(); _ = dispatcherQueue.EnqueueAsync( () => { this.SelectAllSafe(); // need to synchronize the select all and the focus behavior on the text box // because there is no way to identify that the focus has been set from this point // to avoid instantly clearing the selection of tokens PauseTokenClearOnFocus = true; foreach (var item in Items) { if (item is ITokenStringContainer) { // grab any selected text var pretoken = ContainerFromItem(item) as TokenizingTextBoxItem; pretoken._autoSuggestTextBox.SelectionStart = 0; pretoken._autoSuggestTextBox.SelectionLength = pretoken._autoSuggestTextBox.Text.Length; } } (ContainerFromIndex(Items.Count - 1) as TokenizingTextBoxItem).Focus(FocusState.Programmatic); }, DispatcherQueuePriority.Normal); }
public PointerCursolAutoHideBehavior() { _AutoHideTimer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _AutoHideTimer.Tick += AutoHideTimer_Tick; _AutoHideTimer.IsRepeating = false; _DefaultCursor = Window.Current.CoreWindow.PointerCursor; }
public InertiaProcessor(Manipulation owner, Point position, ManipulationDelta cumulative, ManipulationVelocities velocities) { _owner = owner; _position0 = position; _cumulative0 = cumulative; _velocities0 = velocities; _isTranslateInertiaXEnabled = _owner._isTranslateXEnabled && _owner._settings.HasFlag(Input.GestureSettings.ManipulationTranslateInertia) && Abs(velocities.Linear.X) > _owner._inertiaThresholds.TranslateX; _isTranslateInertiaYEnabled = _owner._isTranslateYEnabled && _owner._settings.HasFlag(Input.GestureSettings.ManipulationTranslateInertia) && Abs(velocities.Linear.Y) > _owner._inertiaThresholds.TranslateY; _isRotateInertiaEnabled = _owner._isRotateEnabled && _owner._settings.HasFlag(Input.GestureSettings.ManipulationRotateInertia) && Abs(velocities.Angular) > _owner._inertiaThresholds.Rotate; _isScaleInertiaEnabled = _owner._isScaleEnabled && _owner._settings.HasFlag(Input.GestureSettings.ManipulationScaleInertia) && Abs(velocities.Expansion) > _owner._inertiaThresholds.Expansion; global::System.Diagnostics.Debug.Assert(_isTranslateInertiaXEnabled || _isTranslateInertiaYEnabled || _isRotateInertiaEnabled || _isScaleInertiaEnabled); // For better experience, as soon inertia kicked-in on an axis, we bypass threshold on the second axis. _isTranslateInertiaXEnabled |= _isTranslateInertiaYEnabled && _owner._isTranslateXEnabled; _isTranslateInertiaYEnabled |= _isTranslateInertiaXEnabled && _owner._isTranslateYEnabled; _timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _timer.Interval = TimeSpan.FromMilliseconds(1000d / _framesPerSecond); _timer.IsRepeating = true; _timer.Tick += (snd, e) => Process(snd.LastTickElapsed.TotalMilliseconds); }
/// <summary> /// Called when a link needs to be handled /// </summary> internal async void LinkHandled(string url, bool isHyperlink) { // Links that are nested within superscript elements cause the Click event to fire multiple times. // e.g. this markdown "[^bot](http://www.reddit.com/r/youtubefactsbot/wiki/index)" // Therefore we detect and ignore multiple clicks. if (multiClickDetectionTriggered) { return; } multiClickDetectionTriggered = true; var dispatcherQueue = DispatcherQueue.GetForCurrentThread(); await dispatcherQueue.EnqueueAsync(() => multiClickDetectionTriggered = false, DispatcherQueuePriority.High); // Get the hyperlink URL. if (url == null) { return; } // Fire off the event. var eventArgs = new LinkClickedEventArgs(url); if (isHyperlink) { LinkClicked?.Invoke(this, eventArgs); } else { ImageClicked?.Invoke(this, eventArgs); } }
public HohoemaListingPageViewModelBase(ILogger logger) { NowLoading = new ReactiveProperty <bool>(true) .AddTo(_CompositeDisposable); HasItem = new ReactiveProperty <bool>(true) .AddTo(_CompositeDisposable); HasError = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); MaxItemsCount = new ReactiveProperty <int>(0) .AddTo(_CompositeDisposable); LoadedItemsCount = new ReactiveProperty <int>(0) .AddTo(_CompositeDisposable); NowRefreshable = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); // 読み込み中または選択中はソートを変更できない CanChangeSort = Observable.CombineLatest( NowLoading ) .Select(x => !x.Any(y => y)) .ToReactiveProperty() .AddTo(_CompositeDisposable); _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); _logger = logger; }
private void AssociatedObject_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e) { _parent = this.AssociatedObject.Parent as FrameworkElement; var currentDispatcherQueue = DispatcherQueue.GetForCurrentThread(); _disposable = Observable.FromEventPattern<SizeChangedEventHandler, SizeChangedEventArgs>( h => _parent.SizeChanged += h, h => _parent.SizeChanged -= h ) .Where(_=> !double.IsNaN(_parent.ActualWidth) && _parent.ActualWidth != this.AssociatedObject?.Width) .Do(_ => { if (this.AssociatedObject != null) { this.AssociatedObject.Width = _parent.ActualWidth; } }) .Throttle(TimeSpan.FromSeconds(1)) .Subscribe(_ => { currentDispatcherQueue.TryEnqueue(async () => { await ResetSizing(); }); }); _parent.Loaded += Parent_Loaded; this.AssociatedObject.NavigationCompleted += AssociatedObject_NavigationCompleted; }
public PreferencesViewModel() { ChangePageCommand = new AsyncRelayCommand(ChangePage); RemovePageCommand = new RelayCommand(RemovePage); AddPageCommand = new RelayCommand <string>(async(path) => await AddPage(path)); DefaultLanguages = App.AppSettings.DefaultLanguages; Terminals = App.TerminalController.Model.Terminals; DateTimeOffset sampleDate1 = DateTime.Now; DateTimeOffset sampleDate2 = new DateTime(sampleDate1.Year - 5, 12, 31, 14, 30, 0); var styles = new TimeStyle[] { TimeStyle.Application, TimeStyle.System, TimeStyle.Universal }; DateFormats = styles.Select(style => new DateFormatItem(style, sampleDate1, sampleDate2)).ToList(); dispatcherQueue = DispatcherQueue.GetForCurrentThread(); EditTerminalApplicationsCommand = new AsyncRelayCommand(LaunchTerminalsConfigFile); OpenFilesAtStartupCommand = new AsyncRelayCommand(OpenFilesAtStartup); App.TerminalController.ModelChanged += ReloadTerminals; if (UserSettingsService.PreferencesSettingsService.TabsOnStartupList != null) { PagesOnStartupList = new ObservableCollection <PageOnStartupViewModel>(UserSettingsService.PreferencesSettingsService.TabsOnStartupList.Select((p) => new PageOnStartupViewModel(p))); } else { PagesOnStartupList = new ObservableCollection <PageOnStartupViewModel>(); } PagesOnStartupList.CollectionChanged += PagesOnStartupList_CollectionChanged; _ = InitStartupSettingsRecentFoldersFlyout(); _ = DetectOpenFilesAtStartup(); }
public VideoPlayerPage() { this.InitializeComponent(); _UIdispatcher = Dispatcher; _mediaPlayer = Microsoft.Toolkit.Mvvm.DependencyInjection.Ioc.Default.GetService <MediaPlayer>(); _soundVolumeManager = Microsoft.Toolkit.Mvvm.DependencyInjection.Ioc.Default.GetService <MediaPlayerSoundVolumeManager>(); VolumeSlider.Value = _soundVolumeManager.Volume; _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); //SeekBarSlider.ManipulationMode = ManipulationModes.TranslateX; //SeekBarSlider.ManipulationStarting += SeekBarSlider_ManipulationStarting; //SeekBarSlider.ManipulationStarted += SeekBarSlider_ManipulationStarted; //SeekBarSlider.FocusEngaged += SeekBarSlider_FocusEngaged; //SeekBarSlider.FocusDisengaged += SeekBarSlider_FocusDisengaged; CommentTextBox.GotFocus += CommentTextBox_GotFocus; CommentTextBox.LostFocus += CommentTextBox_LostFocus; MediaControl.SizeChanged += MediaControl_SizeChanged; Loaded += VideoPlayerPage_Loaded; Unloaded += VideoPlayerPage_Unloaded; DataContext = _vm = Ioc.Default.GetRequiredService <VideoPlayerPageViewModel>(); }
public MixMediaPlayerService(IUserSettings userSettings) { _maxActive = userSettings?.Get <int>(UserSettingsConstants.MaxActive) ?? 3; _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); _smtc = SystemMediaTransportControls.GetForCurrentView(); InitializeSmtc(); }
public async Task Test_DispatcherQueueHelper_Action_Ok_NonUIThread() { var taskSource = new TaskCompletionSource <object>(); await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, async() => { try { var dispatcherQueue = DispatcherQueue.GetForCurrentThread(); await Task.Run(async() => { await DispatcherQueueHelper.ExecuteOnUIThreadAsync(dispatcherQueue, () => { var textBlock = new TextBlock { Text = nameof(Test_DispatcherQueueHelper_Action_Ok_NonUIThread) }; Assert.AreEqual(textBlock.Text, nameof(Test_DispatcherQueueHelper_Action_Ok_NonUIThread)); taskSource.SetResult(null); }); }); } catch (Exception e) { taskSource.SetException(e); } }); await taskSource.Task; }
private void Start() { _currentIndex = 0; var currentItem = GetCurrent(); if (_currentElement != null) { _currentElement.DataContext = currentItem; } if (_nextElement != null) { _nextElement.DataContext = GetNext(); } if (currentItem == null) { _currentIndex = -1; _timer?.Stop(); return; } if (_timer == null) { _timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _timer.Interval = GetTileDuration(); _timer.Tick += Timer_Tick; } _timer.Start(); _suppressFlipOnSet = true; CurrentItem = currentItem; _suppressFlipOnSet = false; }
private static void ScrollViewer_PointerPressed(object sender, PointerRoutedEventArgs e) { // Unsubscribe if deferred moving is started if (_isDeferredMovingStarted) { UnsubscribeMiddleClickScrolling(); return; } Pointer pointer = e.Pointer; if (pointer.PointerDeviceType == PointerDeviceType.Mouse) { _scrollViewer = sender as ScrollViewer; PointerPoint pointerPoint = e.GetCurrentPoint(_scrollViewer); // SubscribeMiddle if middle button is pressed if (pointerPoint.Properties.IsMiddleButtonPressed) { SubscribeMiddleClickScrolling(DispatcherQueue.GetForCurrentThread()); _startPosition = Window.Current.CoreWindow.PointerPosition; _currentPosition = Window.Current.CoreWindow.PointerPosition; } } }
private static void CoreWindow_PointerReleased(CoreWindow sender, PointerEventArgs args) { // Start deferred moving if the pointer is pressed and not moved if (_isPressed && !_isMoved) { _isDeferredMovingStarted = true; // Event to stop deferred scrolling if pointer exited Window.Current.CoreWindow.PointerExited -= CoreWindow_PointerExited; Window.Current.CoreWindow.PointerExited += CoreWindow_PointerExited; // Event to stop deferred scrolling if pointer pressed Window.Current.CoreWindow.PointerPressed -= CoreWindow_PointerPressed; Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed; SetCursorType(DispatcherQueue.GetForCurrentThread(), 0, 0); } else { _isDeferredMovingStarted = false; } // Unsubscribe if the pointer is pressed and not DeferredMoving if (_isPressed && !_isDeferredMovingStarted) { UnsubscribeMiddleClickScrolling(); } }
public MediaPlayerElementContentHeightGetter() { _Timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _Timer.IsRepeating = true; _Timer.Interval = TimeSpan.FromMilliseconds(100); _Timer.Tick += _Timer_Tick; }
public DashboardPageViewModel(IDeviceConsumptionRepository deviceConsumptionRepository, ScheduledTaskService scheduledTaskService, ISettingsRepository settingsRepository) { this.deviceConsumptionRepository = deviceConsumptionRepository; this.scheduledTaskService = scheduledTaskService; this.settingsRepository = settingsRepository; dispatcherQueue = DispatcherQueue.GetForCurrentThread(); refreshGlobalInformationsTimer = new Timer(new TimerCallback(OnRefreshGlobalInformationTimer)); }
public MicaBrush(bool checkForCompositionSupport = true) { DispatcherQueue = DispatcherQueue.GetForCurrentThread(); FallbackColor = Colors.Transparent; _wallpaperBrushSupported = checkForCompositionSupport ? ApiInformation.IsMethodPresent("Windows.UI.Composition.Compositor", "TryCreateBlurredWallpaperBackdropBrush") : true; }
public MainTestHost() { InitializeComponent(); WeakReferenceMessenger.Default.Register <RequestPageMessage>(this); _queue = DispatcherQueue.GetForCurrentThread(); }
private void StartHoldingTimer() { _holdingTimer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _holdingTimer.Interval = TimeSpan.FromTicks(HoldMinDelayTicks); _holdingTimer.State = this; _holdingTimer.Tick += OnHoldingTimerTick; _holdingTimer.Start(); }
public AppServiceController( IMixMediaPlayerService player) { Guard.IsNotNull(player, nameof(player)); _player = player; _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); }
/// <summary> /// Prevents a default instance of the <see cref="BluetoothLEHelper" /> class from being created. /// </summary> /// <param name="dispatcherQueue">The DispatcherQueue that should be used to dispatch UI updates, or null if this is being called from the UI thread.</param> private BluetoothLEHelper(DispatcherQueue dispatcherQueue = null) { DispatcherQueue = dispatcherQueue ?? DispatcherQueue.GetForCurrentThread(); #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed Init(); #pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed }
public ColumnViewBase() : base() { this.InitializeComponent(); CurrentColumn = this; var selectionRectangle = RectangleSelection.Create(FileList, SelectionRectangle, FileList_SelectionChanged); tapDebounceTimer = DispatcherQueue.GetForCurrentThread().CreateTimer(); }
public void PlayPremium(MessageViewModel message, Sticker sticker) { if (Interactions == null) { InteractionsPopup = GetTemplateChild(nameof(InteractionsPopup)) as Popup; Interactions = GetTemplateChild(nameof(Interactions)) as Grid; } var file = sticker.PremiumAnimation; if (file.Local.IsFileExisting() && Interactions.Children.Count < 1) { var dispatcher = DispatcherQueue.GetForCurrentThread(); var player = new LottieView(); player.Width = 270; player.Height = 270; player.IsFlipped = !message.IsOutgoing; player.IsLoopingEnabled = false; player.IsHitTestVisible = false; player.FrameSize = new Size(270 * 2, 270 * 2); player.Source = UriEx.ToLocal(file.Local.Path); player.PositionChanged += (s, args) => { if (args == 1) { dispatcher.TryEnqueue(() => { Interactions.Children.Remove(player); InteractionsPopup.IsOpen = false; }); } }; var left = 75; var right = 15; var top = 45; var bottom = 45; if (message.IsOutgoing) { player.Margin = new Thickness(-left, -top, -right, -bottom); } else { player.Margin = new Thickness(-right, -top, -left, -bottom); } Interactions.Children.Add(player); InteractionsPopup.IsOpen = true; } else if (file.Local.CanBeDownloaded && !file.Local.IsDownloadingActive) { message.Delegate.DownloadFile(message, file); UpdateManager.Subscribe(this, message, file, ref _interactionToken, UpdateFile, true); } }
public MediaPlayerService() { _player = new MediaPlayer { IsLoopingEnabled = true }; _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); _player.PlaybackSession.PlaybackStateChanged += PlaybackSession_PlaybackStateChanged; }
public async Task When_ScheduleWorkItem() { var tcs = new TaskCompletionSource <object>(); var timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); try { timer.Interval = TimeSpan.FromMilliseconds(10); timer.Tick += (snd, e) => tcs.TrySetResult(default);
public RectangleSelection_ListViewBase(ListViewBase uiElement, Rectangle selectionRectangle, SelectionChangedEventHandler selectionChanged = null) { this.uiElement = uiElement; this.selectionRectangle = selectionRectangle; this.selectionChanged = selectionChanged; itemsPosition = new Dictionary <object, System.Drawing.Rectangle>(); timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); InitEvents(null, null); }
private void Start() { if (updateTimer == null) { updateTimer = DispatcherQueue.GetForCurrentThread().CreateTimer(); updateTimer.Tick += UpdateTimer_Tick; } updateTimer.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="InAppNotification"/> class. /// </summary> public InAppNotification() { DefaultStyleKey = typeof(InAppNotification); _dispatcherQueue = DispatcherQueue.GetForCurrentThread(); _dismissTimer = _dispatcherQueue.CreateTimer(); _dismissTimer.Tick += DismissTimer_Tick; _stackedNotificationOptions = new List <NotificationOptions>(); }
public MainPage() { this.InitializeComponent(); _timer = DispatcherQueue.GetForCurrentThread().CreateTimer(); _timer.Interval = TimeSpan.FromSeconds(1); _timer.Tick += _timer_Tick; _timer.Start(); }
public void Test_DispatcherQueueHelper_FuncOfT_Ok_UIThread() { var textBlock = DispatcherQueueHelper.ExecuteOnUIThreadAsync(DispatcherQueue.GetForCurrentThread(), () => { return(new TextBlock { Text = nameof(Test_DispatcherQueueHelper_FuncOfT_Ok_UIThread) }); }).Result; Assert.AreEqual(textBlock.Text, nameof(Test_DispatcherQueueHelper_FuncOfT_Ok_UIThread)); }
public void Test_DispatcherQueueHelper_Action_Ok_UIThread() { DispatcherQueueHelper.ExecuteOnUIThreadAsync(DispatcherQueue.GetForCurrentThread(), () => { var textBlock = new TextBlock { Text = nameof(Test_DispatcherQueueHelper_Action_Ok_UIThread) }; Assert.AreEqual(textBlock.Text, nameof(Test_DispatcherQueueHelper_Action_Ok_UIThread)); }).Wait(); }