我正在使用我在“Automatic WPF Toolkit DataGrid Filtering”文章下找到的代码(VS2008),该代码非常有效。它被实现为数据网格标题的新“样式”,而不是数据网格本身的扩展。我的问题是如何保存输入到这些过滤器框中的值,然后使用它们重新输入这些值?
如果不可能,我将如何修改源代码(可从上面的链接获得)到过滤器(WPF新手)。
谢谢,
恩里科
答案 0 :(得分:2)
没有太多时间深入代码分析,但您可以在提供的代码中找到:
在Generic.xaml
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
类型,我认为它包含您需要的信息。
希望这有帮助。
问候。
答案 1 :(得分:0)
您可以将其保存到UserSettings
。我会为每个过滤条目创建一个用户条目,并在加载时填充过滤器。