/// <summary> /// Wywoływane, gdy wystąpi zdarzenie MouseLeftButtonDown. /// </summary> /// <param name="e">System.Windows.Input.MouseButtonEventArgs, który zawiera dane zdarzenia. Dane zdarzenia informują o naciśnięciu lewego przycisku myszy.</param> protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { if (SelectionUnit != DataGridSelectionUnit.Cell) { Border border = e.OriginalSource as Border; if (border != null) { //var row = ItemContainerGenerator.ContainerFromItem(CurrentItem) as DataGridRow; DataGridRow dataGridRow = border.TemplatedParent as DataGridRow; if (dataGridRow != null) { if (Keyboard.IsKeyDown(Key.LeftCtrl)) { base.SelectedItems.Add(dataGridRow.Item); } else { DataGridSelectionUnit saveSelectionUnit = SelectionUnit; SelectionUnit = DataGridSelectionUnit.Cell; UnselectAll(); SelectionUnit = saveSelectionUnit; dataGridRow.IsSelected = true; dataGridRow.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); } } } } }
public static void SetSelectionUnit(UIElement element, DataGridSelectionUnit value) { element.SetValue(SelectionUnitProperty, value); }
internal void OnSelectionUnitChanged(DataGridSelectionUnit dataGridSelectionUnit) { this.ClearSelection(); this.selectedItems.SelectionUnit = dataGridSelectionUnit; }
/// <summary> /// Sets the value to define the DataGridRow selection behavior. /// </summary> public static void SetSelectionUnit(UIElement element, DataGridSelectionUnit value) { element.SetValue(SelectionUnitProperty, value); }
public static TDataGrid SelectionUnit <TDataGrid>(this TDataGrid @this, DataGridSelectionUnit selectionUnit) where TDataGrid : DataGrid { @this.SelectionUnit = selectionUnit; return(@this); }
public static T SelectionUnit <T>(this T target, DataGridSelectionUnit value) where T : DataGrid { target.SelectionUnit = value; return(target); }