gpt4 book ai didi

wpf - 在 ViewModel 中捕获 CollectiveViewSource 的 Filter 事件

转载 作者:行者123 更新时间:2023-12-03 10:24:37 25 4
gpt4 key购买 nike

如何使用 MVVM 灯在 ViewModel 中捕获 CollectionViewSource 的过滤器事件?

最佳答案

不熟悉 MVVM Light 但是我很确定你在说的是标准的 WPF 框架位。
Filter您的 ICollectionView 上的属性(property)是 Predicate<object > 您可以将其设置为 ViewModel 上的给定方法,该方法将在每次 Filter 时调用需要行使。

实现此目的的一种方法是定义您的 ICollectionView作为 ViewModel 中的属性,该属性绑定(bind)到您的 View 中。

private ICollectionView _view;

public ICollectionView Data
{
get
{
if (_view == null)
{
_view = CollectionViewSource.GetDefaultView(someCollection);
_view.Filter = Filter;
}

return _view;
}
}

private bool Filter(object arg)
{
//arg is the object being filtered on to make the decision of
//it being included in the returned ICollectionView

return true;
}

这允许所有逻辑保留在 ViewModel 中,我认为这是您的最终目标。

关于wpf - 在 ViewModel 中捕获 CollectiveViewSource 的 Filter 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com