2016-04-22 10 views
-4

私のwpf xamデータグリッドの一部の列に適用されるフィルタをクリアする必要があります。私は私の場合を解決するだろうボタンのクリックイベントにこのような何かを行うことができれば 私はボタンのクリック時にwpf xamデータグリッドの一部の列に適用されたフィルタをクリアする方法

recordfilter.clear()

のような何かをしたいが、私は外にそれを使用することはできませんだからイベント をRecordFilterChanged。

+4

あなたのコードのいくつかを示して、どこに行き詰まったか説明してください。 (誰がこの質問に投票しましたか) –

+1

更新された質問を今すぐお読みください – Rockerz

+0

こんにちは、 残念ながら、あなたの情報はあなたのシナリオを再現するには不十分です。カスタムフィルタリングの仕組みを教えてください。 RadGridView.FilterDescriptors.Clear()を使用していますか?あなたはプログラム的にフィルタをクリアしていますか? –

答えて

0

最後に、xamDataGridの動作を作成してこの問題を解決することができました。コードに続いて私の問題が解決されました

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; 
    } 

} 
関連する問題