private static void SubscribeSelectionChanges(DataGrid dataGrid)
 {
     dataGrid.UpdateHandler(DataGridCell.SelectedEvent, SelectedCellsChangedHandler, true);
     dataGrid.UpdateHandler(DataGridCell.UnselectedEvent, SelectedCellsChangedHandler, true);
     dataGrid.SetCurrentValue(IsSubscribingChangesProperty, BooleanBoxes.True);
 }
        private static void UpdateSelectedCellItemFromView(DataGrid dataGrid)
        {
            var index = dataGrid.GetIndex();
            if (index == null || index.Value.Column < 0 || index.Value.Column >= dataGrid.Columns.Count)
            {
                dataGrid.SetCurrentValue(CellItemProperty, null);
                return;
            }

            var column = dataGrid.Columns.ElementAtOrDefault<DataGridColumn>(index.Value.Column);
            var item = dataGrid.Items.ElementAtOrDefault(index.Value.Row);

            var cellItem = GetCellItem(column, item);
            dataGrid.SetCurrentValue(CellItemProperty, cellItem);
        }
Example #3
0
 private static void ListenToColumnAutoGeneration(DataGrid dataGrid)
 {
     if (dataGrid.GetValue(ListenerProperty) == null)
     {
         dataGrid.SetCurrentValue(ListenerProperty, new AutogenerateColumnListener(dataGrid));
     }
 }