wpf - 列表项目选择无法正常工作?

标签 wpf listview mvvm

关于我之前的问题 Binding List of Lists in XAML?我面临一个小问题。
enter image description here
上面的窗口有一个 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/

相关文章:

java - 如何在 android 中动态添加多个水平 ListView ,如 android 中的 play store 应用程序

android - 我可以在另一个 Activity 中更新一个 Activity 中的 ListView 吗?

android - Unresolved reference : asLiveData while converting Flow to LiveData

c# - 列表框不显示特定对象的值(数据绑定(bind))

c# - 使用viewmodel在wpf窗口中实现进度条

wpf - 关于 WPF 对接库的建议

.net - 缩放 View 框内所有控件的高度和宽度

WPF ListView - 如何设置所选项目的背景颜色?

c# - 窗口内弹出窗口 : How to block UI thread?

wpf - wpf datagrid,在 mvvm 场景中编辑单元格值