首页 > 解决方案 > 强制依赖属性刷新

问题描述

我想强制绑定我的列表框以刷新其内容。我的列表框绑定到一个依赖属性:

<ListBox ... DataContext="{Binding ElementName=_this}" ItemsSource="{Binding Path=MyList}"/>

例如,当我以调用 DependencyProperty MyList get 的方式按下按钮时,我想刷新列表框内容。

标签: c#wpfdependency-propertiesitemssource

解决方案


您可以使 MyList 成为ObservableCollection,或实现INotifyCollectionChanged的​​其他东西

然后,如果您更改了 MyList 的内容,则 ListBox 将自动更新

在这种情况下,您甚至不需要声明MyList为依赖属性。一个简单的只读属性就足够了:

public ObservableCollection<MyItem> MyList { get; }
    = new ObservableCollection<MyItem>();

推荐阅读