【问题标题】:List of Lists item selection not working properly?列表项目选择无法正常工作?
【发布时间】:2016-05-16 22:16:32
【问题描述】:

关于我之前的问题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”的海报时拍摄的。但是,选择不会更新绑定到 ViewModel Movie 属性的底部两个 TextBlock 控件。它仍在播放之前选择的3个白痴电影。但是,如果我点击 27 Dresses 海报,它将更新 Movie 属性。请帮助我识别和解决这个问题。

【问题讨论】:

  • 请展示一些 XAML / 代码来说明问题绑定是如何完成的。
  • 显示所选项目与 ViewModel 的 Movie 属性的绑定

标签: wpf listview mvvm


【解决方案1】:

在您的ViewModel 中,您需要为所有ListViews 重置SelectedItem(通过将其设置为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");
    }
  }
}

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2020-02-08
    • 2017-04-07
    相关资源
    最近更新 更多