wpf - 更优雅的ListView重新查询

标签 wpf listview refresh

每次触发另一个控件的 IsChanged 事件时,我都需要刷新我的 ListView 。我用谷歌搜索了如何做到这一点,然后我看到了一个 stackoverflow 链接,它引导我 here

其中一个有效的答案:

listView.ItemsSource = listView.ItemsSource    

这真的是刷新我的 ListView 的唯一方法吗?感觉有点不对劲。

最佳答案

只是使其无效。

listView.InvalidateProperty(ListView.ItemsSourceProperty)

应该可以了。

顺便说一句,我真的建议看看 MVVM。它往往更强大。在这种情况下,对于 MVVM 应用程序,我会这样做:

Xaml:

<ListView ItemsSource="{Binding MyItems}" />

这是我要绑定(bind)的 ViewModel:

public ObservableCollection<MyItem> MyItems
{
     get; set;
}

public void IsChangedHandler(...)
{
     ...
     this.OnPropertyChanged("MyItems");
}

关于wpf - 更优雅的ListView重新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406542/

相关文章:

c# - 动态滚动到列表框中的焦点项目

c# - 将属性 PropertyChange 与实现 ICommand 的命令绑定(bind)

c# - Framework.Triggers 和 Style.Triggers 之间的区别?

android - 使用带有文本和图像的自定义适配器在 ListView 中搜索

javascript - 希望 EXT JS View 自动重新加载

c# - tabControl/tabitem 刷新困难

c# - 将组合框数据从列表绑定(bind)到属性

WPF : How to scroll a ListView control horizontal?

java - 使 ListView 占满整个屏幕

Eclipse:如何刷新整个工作区? F5 不行