从列表框中获取多个选择

时间:2018-08-07 10:55:25

标签: c# wpf data-binding

我的wpf-app中有一个列表框:

<ListBox x:Name="detailComponentListBox" HorizontalAlignment="Left" Margin="115,65,0,10" Width="171" ItemsSource="{Binding ComponentList}" SelectionMode="Multiple" SelectedValue="{Binding selectedComponent}"/>

selectedValue属性绑定到:

public String selectedComponent
  {
      set
      {
        MainWindow mw = (MainWindow)Application.Current.MainWindow;
        foreach (String test in mw.detailComponentListBox.SelectedItems)
        {
           Console.WriteLine(test);
        }
      }
  }

因此,当用户单击一个项目(将其添加到选择中)时,所有选定的项目都应打印到控制台。但是,除了(!)所选项目外,所有项目均被打印。缺少的项目仅在列表框中的下一次单击时才打印(例如,取消选择该项目或选择另一个项目,然后也将不会打印...等等)。如何处理这种情况?

背景:我有一个显示数据库中实体的应用。当选择一个实体时,将通过该列表框显示一个属性(该实体“包含”该列表框中的项目)。然后,用户可以通过单击鼠标的选择从列表框中添加/删除项目。这些更改应立即推送到数据库。为此,我需要捕获列表框的“选择/取消选择事件”并读取选择的项目。

0 个答案:

没有答案