public async Task <bool> RemoveScreenAsync(Core.IDisplay display) { var dispatcher = Application.Current.Dispatcher; if (dispatcher.CheckAccess()) { return(Displays.Remove(display)); } else { return(await dispatcher.InvokeAsync(new Func <bool>(() => Displays.Remove(display)), System.Windows.Threading.DispatcherPriority.Normal)); } }
void InternalAdd(Core.IDisplay item) { var dispatcher = Application.Current.Dispatcher; if (dispatcher.CheckAccess()) { Displays.Add(item); } else { dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(() => Displays.Add(item))); } }
public DeviceScreens AddScreen(Core.IDisplay display) { InternalAdd(display); return(this); }