【发布时间】:2014-10-16 05:57:47
【问题描述】:
我有一个 ListView,它将每个列表视图项绑定到具有 List 的 A 类
<Page
DataContext="{Binding MainViewModel , Source={StaticResource Locator}}"
>
<ListView ItemsSource="{Binding A.List}" >
<ListView.ItemTemplate>
....
</ListView.ItemTemplate>
</ListView>
</Page>
在我的 ViewModel 中,我有类“A”,它有一个属性 List
public class MainViewModel : ViewModelBase {
private A _a;
public A A {
get {
return _a;
}
}
}
public class A
{
private IList<IList> _lists;
IList<int> List {
get {
return _lists;
};
set {
_lists = value;
RaisePropertyChanged("List");
}
}
在 set() 方法中,每当设置 List 时,我都会调用“RaisePropertyChanged()”。 但是当我运行它时,ListView 内容没有得到更新。 我应该提高 RaisePropertyChanged("List") 还是 RaisePropertyChanged("A.List") (就像我在 xaml 中放入 {Binding A.List] 的内容一样?就我而言,我将 List 设置为 List 的另一个实例。
【问题讨论】:
-
您是否为此实现了 INotifyPropertychanged 以在绑定列表更新时更新您的列表视图?
-
MainViewModel 从 MVVM 轻框架继承 ViewModelBase
-
你是对的,但根据我的说法,你的 A 类应该继承自 INotifyPropertyChanged 以实现 ListView 上的更新功能。
-
该属性 A 看起来不太正确。似乎缺少一个 Get 语句。
标签: c# windows-phone-8