private void OnSelectionChanged() { if (SelectionChangedScope.IsInScope) { return; } Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { using (SelectionChangedScope.BeginScope()) { foreach (var item in Owner.Items) { if (IsContainedInSelection(item)) { if (SelectedItem != null) { SelectedItem.IsSelected = false; } item.IsSelected = true; SelectedItem = item; break; } } } })); }
public void OnItemDisposed(IListViewModelItem viewModelItem) { if (SelectedItem == viewModelItem && viewModelItem.IsSelected) { using (SelectionChangedScope.BeginScope()) { viewModelItem.IsSelected = false; SelectedItem = null; } } }
public void OnItemCreated(IListViewModelItem viewModelItem) { if (SelectedItem == null && IsContainedInSelection(viewModelItem)) { using (SelectionChangedScope.BeginScope()) { viewModelItem.IsSelected = true; SelectedItem = viewModelItem; } } }
public void OnItemDisposed(IListViewModelItem viewModelItem) { if (SelectedItems.Contains(viewModelItem)) { using (SelectionChangedScope.BeginScope()) { viewModelItem.IsSelected = false; selectedItems.Remove(viewModelItem); } } }
public void OnItemCreated(IListViewModelItem viewModelItem) { if (IsContainedInSelection(viewModelItem)) { using (SelectionChangedScope.BeginScope()) { viewModelItem.IsSelected = true; selectedItems.Add(viewModelItem); } } }
private void OnTimerElapsed(object sender, ElapsedEventArgs e) { Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { using (SelectionChangedScope.BeginScope()) { if (SelectedItem != null) { SelectedItem.IsSelected = false; } SelectedItem = LastSelectedItem; Selection.Value = (T)LastSelectedItem?.Value; } LastSelectedItem = null; Timer.Stop(); })); }
public void OnItemSelectionStatusChanged(IListViewModelItem viewModelItem) { if (SelectionChangedScope.IsInScope) { return; } if (Timer.Enabled) { Timer.Stop(); } if (!SelectionChangedItems.Contains(viewModelItem)) { SelectionChangedItems.Add(viewModelItem); } Timer.Start(); }
public void OnItemSelectionStatusChanged(IListViewModelItem viewModelItem) { if (SelectionChangedScope.IsInScope) { return; } if (Timer.Enabled) { Timer.Stop(); } if (LastSelectedItem == viewModelItem && !viewModelItem.IsSelected) { LastSelectedItem = null; } else if (viewModelItem.IsSelected) { LastSelectedItem = viewModelItem; } Timer.Start(); }
public bool IsContainedInSelection(IListViewModelItem item) { return(item.Value?.Equals(Selection.Value) ?? false); }
public bool IsContainedInSelection(IListViewModelItem item) { return(Selection.Value.Contains((T)item.Value)); }