如何在WPF工具包数据网格“过滤扩展”中保存筛选值?

6
我正在使用我在文章“WPF Toolkit数据网格过滤自动化”中找到的代码(VS2008),它运行得非常好。 它作为一个datagrid头部的新“样式”实现,而不是datagrid本身的扩展。我的问题是如何保存输入到这些筛选框中的值,并稍后使用它们重新输入这些值?
如果不能像现在这样实现,那么我该如何修改源代码(可从上面的链接获取)以进行过滤(WPF新手)。
谢谢,
Enrico
2个回答

2

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

Generic.xaml 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类型,我认为它包含您需要的信息。

希望这有所帮助。

敬礼。


没问题。有时候我也控制不住自己。 - Jason Down

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接