关于我之前的问题 Binding List of Lists in XAML?我面临一个小问题。
上面的窗口有一个 ListView 控件,其中每个 ListViewItem 本身就是另一个 ListView。所以父ListView由8个(ListView)item组成,其中每个子item ListView分别由1,1,1,2,1,2,1,2个item组成。下图是我尝试点击“Bug's Life”的海报时拍摄的。但是,选择不会更新绑定(bind)到 ViewModel Movie 属性的底部两个 TextBlock 控件。它仍在播放之前选择的3个白痴电影。但是,如果我点击 27 Dresses 海报,它将更新 Movie 属性。请帮助我识别和解决这个问题。
最佳答案
在您的 ViewModel
,您需要重置SelectedItem
对于所有 ListView
s (通过将其设置为 null
)在分配新值之前,如下所示:
private Movie m_SelectedMovie;
public Movie SelectedMovie
{
get
{
return m_SelectedMovie;
}
set
{
if (m_SelectedMovie != value)
{
m_SelectedMovie = null;
OnPropertyChanged("SelectedMovie"); // -> So the ListViews unselect everything
m_SelectedMovie = value;
OnPropertyChanged("SelectedMovie");
}
}
}
关于wpf - 列表项目选择无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8261710/