我希望在按钮上单击我的wpf xam数据网格中某些列应用的任何过滤器应该清除。 我想要像
这样的东西recordfilter.clear()
但我不能在 RecordFilterChanged 事件之外使用它 所以如果我可以在按钮点击事件上做这样的事情,这将解决我的问题。
答案 0 :(得分: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;
}
}