/// <summary> /// Gets additional events for a data grid. /// </summary> /// <param name="dataGrid">The data grid.</param> /// <returns>The event provider.</returns> public static IDataGridEventsProvider GetAdditionalEvents(this DataGrid dataGrid) { if (dataGrid.GetValue(DataGridEventsProviderProperty) is not IDataGridEventsProvider eventsProvider) { eventsProvider = new DataGridEventsProvider(dataGrid); dataGrid.SetValue(DataGridEventsProviderProperty, eventsProvider); } return(eventsProvider); }
public static IDataGridEventsProvider GetAdditionalEvents([NotNull] this DataGrid dataGrid) { Contract.Requires(dataGrid != null); Contract.Ensures(Contract.Result <IDataGridEventsProvider>() != null); if (!(dataGrid.GetValue(DataGridEventsProviderProperty) is IDataGridEventsProvider eventsProvider)) { eventsProvider = new DataGridEventsProvider(dataGrid); dataGrid.SetValue(DataGridEventsProviderProperty, eventsProvider); } return(eventsProvider); }