如何在WPF工具包数据网格中保存过滤器值;过滤器扩展;

本文关键字:过滤器 保存 扩展 网格 数据网 WPF 工具包 数据 | 更新日期: 2023-09-27 18:04:38

我正在使用我在文章"自动WPF工具包数据网格过滤"下找到的代码(VS2008),它工作得很好。它是作为数据网格头的一种新"样式"实现的,而不是作为数据网格本身的扩展。我的问题是如何保存输入到这些筛选框中的值,然后使用它们重新输入这些值?

如果不可能,我该如何修改过滤器(WPF新手)的源代码(可从上面的链接获得)。

谢谢,

Enrico

如何在WPF工具包数据网格中保存过滤器值;过滤器扩展;

没有太多时间深入代码分析,但是您可以在提供的代码中找到:

Generic.xaml at line 55,你会发现这个代码:

<Setter Property="Template">

这段代码实际上为GridColumn设置了模板。在 XAML的中间,你会发现DelayTextBox类型声明。那是你的钥匙!

DelayTextBox类型的OnTextChanged(TextChangedEventArgs e)开始搜索。

再次提示:

DataGridColumnFilter.cs中,您将发现以下属性:

public FilterData FilterCurrentData
 {
     get { return (FilterData)GetValue(FilterCurrentDataProperty); }
     set { SetValue(FilterCurrentDataProperty, value); }
 }

将断点设置为get/set,运行程序并过滤列。你将获得一个清晰的callstack愿景,因此可以根据你的应用设计决定在哪里可以获取文本框的实际值。

编辑

FilterData类型,我认为它包含了你需要的信息。

希望对你有帮助。

问候。

您可以将它们保存到UserSettings。我将为每个过滤器条目创建一个用户条目,并在加载时填充过滤器。