【问题标题】:How to clear filters applied on some column in wpf xam data grid on button click如何在单击按钮时清除应用于 wpf xam 数据网格中某些列的过滤器
【发布时间】:2016-04-22 11:59:25
【问题描述】:

我想在按钮上单击在我的 wpf xam 数据网格中的某些列上应用的任何过滤器都应该清除。 我想要类似的东西

recordfilter.clear()

但我不能在 RecordFilterChanged 事件之外使用它 因此,如果我可以在按钮单击事件上做这样的事情来解决我的问题。

【问题讨论】:

  • 请展示你的一些代码并解释你卡在哪里。 (谁投票赞成这个问题?)
  • 请立即阅读更新后的问题
  • 您好,很遗憾,您提供的信息不足以重现您的场景。您能否与我们分享您是如何进行自定义过滤的?你在使用 RadGridView.FilterDescriptors.Clear();当您以编程方式清除过滤器时?

标签: c# .net wpf xaml xamdatagrid


【解决方案1】:

最后我设法通过创建 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;
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2016-08-26
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    相关资源
    最近更新 更多