如何在WPF工具包数据网格中保存过滤器值;过滤器扩展;
本文关键字:过滤器 保存 扩展 网格 数据网 WPF 工具包 数据 | 更新日期: 2023-09-27 18:04:38
我正在使用我在文章"自动WPF工具包数据网格过滤"下找到的代码(VS2008),它工作得很好。它是作为数据网格头的一种新"样式"实现的,而不是作为数据网格本身的扩展。我的问题是如何保存输入到这些筛选框中的值,然后使用它们重新输入这些值?
如果不可能,我该如何修改过滤器(WPF新手)的源代码(可从上面的链接获得)。
谢谢,
Enrico
没有太多时间深入代码分析,但是您可以在提供的代码中找到:
在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
。我将为每个过滤器条目创建一个用户条目,并在加载时填充过滤器。