static void OnGridColumnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CustomTemplateSelector cts = CustomTemplateSelector.Instance; GridColumn gc = e.NewValue as GridColumn; Type t = gc.FieldType; switch (t.Name) { case "DateTime": { cts.MainTemplate = (DataTemplate)(d as FilterWindow).Resources["DateTimeData"]; (d as FilterWindow).cmbOperationsH.ItemsSource = (d as FilterWindow).NumericConditions; (d as FilterWindow).cmbOperationsL.ItemsSource = (d as FilterWindow).NumericConditions; break; } case "String": { cts.MainTemplate = (DataTemplate)(d as FilterWindow).Resources["RegularData"]; (d as FilterWindow).cmbOperationsH.ItemsSource = (d as FilterWindow).StringConditions; (d as FilterWindow).cmbOperationsL.ItemsSource = (d as FilterWindow).StringConditions; break; } default: { cts.MainTemplate = (DataTemplate)(d as FilterWindow).Resources["RegularData"]; (d as FilterWindow).cmbOperationsH.ItemsSource = (d as FilterWindow).NumericConditions; (d as FilterWindow).cmbOperationsL.ItemsSource = (d as FilterWindow).NumericConditions; } break; } }
public CustomTemplateSelector() { Instance = this; }