自定义控件中的WPF CollectionViewSource滥用?

时间:2010-03-02 08:53:39

标签: wpf view collectionviewsource

您应该在 WPF自定义控件的代码中使用CollectionViewSource吗?

我问,因为设置了CollectionViewSource.GetDefaultView(SOURCE)的{​​{1}} 更改视图,以便Control 的所有实例具有相同的视图

这是不是意味着,在自定义控件的代码背后,你应该避免使用CollectionViewSource?

1 个答案:

答案 0 :(得分:1)

这取决于所需的行为。例如。如果你在屏幕上有多个状态列表,并希望同时按区域过滤所有状态,那么这可能是所需的行为。在不希望项目绑定到相同过滤条件的情况下,您始终可以强制使用不同的视图源。

我认为在理解ItemsSource的交互之前避免使用CollectionViewSource - > CollectionView - >绑定项目控件可能是一个好主意,但我不知道我会说你应该避免它一般。

我认为可以合理地说,如果表单上的两个列表具有不同的过滤/排序要求,那么它们应该从不同的源属性绑定(即使这些属性是单个基础源的直接克隆)。这样,您仍然可以在CollectionViewSource级别应用过滤和存储,但以后不会产生意外后果。