Пример #1
0
        /// <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));
                        }
                    }
                }
            }
        }
Пример #2
0
 public static void SetSelectionUnit(UIElement element, DataGridSelectionUnit value)
 {
     element.SetValue(SelectionUnitProperty, value);
 }
Пример #3
0
 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);
 }
Пример #6
0
 public static T SelectionUnit <T>(this T target, DataGridSelectionUnit value) where T : DataGrid
 {
     target.SelectionUnit = value;
     return(target);
 }