2016-04-22 3 views
-4

Ich möchte auf Knopf klicken, welche Filter auf einige Spalten in meinem wpf xam Datenraster angewendet werden, sollte gelöscht werden. Ich möchte so etwas wieSo löschen Sie Filter auf einige Spalte in WPF xam Datenraster auf Knopfdruck

recordfilter.clear()

, aber ich kann es nicht im Freien RecordFilterChanged Ereignis Also, wenn ich so etwas wie dieses auf die Schaltfläche Click-Ereignis tun könnte, dass mein Fall lösen würde.

+4

Bitte zeigen Sie etwas von Ihrem Code und erklären, wo Sie stecken geblieben sind. (Wer hat diese Frage gewählt?) –

+1

Bitte lesen Sie die aktualisierte Frage jetzt – Rockerz

+0

Hallo, Leider reichen die von Ihnen bereitgestellten Informationen nicht aus, um Ihr Szenario zu reproduzieren. Würden Sie uns bitte mitteilen, wie Sie Ihre benutzerdefinierte Filterung durchführen? Verwenden Sie RadGridView.FilterDescriptors.Clear(); wenn Sie die Filter programmatisch löschen? –

Antwort

0

Schließlich konnte ich dieses Problem lösen, indem ich Verhalten von xamDataGrid erstellte. Der folgende Code löste mein Problem

public static readonly DependencyProperty IsFiltersClearedProperty = DependencyProperty.Register("IsFiltersCleared", typeof(bool), typeof(XamDataGridClearFilters), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, ClearFilters)); 



public bool IsFiltersCleared 
     { 
      get { return (bool)GetValue(IsFiltersClearedProperty); } 
      set { SetValue(IsFiltersClearedProperty, value); } 
     } 
    private static void ClearFilters(DependencyObject d, DependencyPropertyChangedEventArgs e) 
    { 
     if (!(bool)e.NewValue) 
     { 
      return; 
     } 
     XamDataGridClearFilters gridExtender = (XamDataGridClearFilters)d; 
     XamDataGrid dataGrid = (XamDataGrid)gridExtender.AssociatedObject; 
     dataGrid.ClearCustomizations(CustomizationType.RecordFilters); 
     gridExtender.IsFiltersCleared = false; 
    } 

} 
Verwandte Themen