c# - 从列表框中获取多项选择
问题描述
我的 wpf 应用程序中有一个列表框:
<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);
}
}
}
因此,当用户单击一个项目(将其添加到选择中)时,所有选定的项目都应打印到控制台。但相反,所有项目都被打印,除了(!)被选中的项目。丢失的项目仅在列表框中的下一次单击时打印(例如取消选择该项目或选择另一个项目,然后也不会打印......等等)。这种情况如何处理?
背景:我有一个显示数据库实体的应用程序。当一个实体被选中时,一个属性通过该列表框可视化(实体“包含”列表框中的项目)。然后,用户可以通过鼠标单击选择从列表框中添加/删除项目。这些更改应立即推送到数据库。为此,我需要捕获列表框的“选择/取消选择事件”并读取所选项目。
解决方案
推荐阅读
- python - 如何在 python 中使用 pandas 分解 csv 中的一行?
- powershell - 切换命令后需要测试一个变量
- java - Jpa Entity条件关系映射?
- javascript - TypeScript:初始化嵌套对象的更简单方法?
- .net - 如果对象为空,如何忽略 FluentValidation 规则
- java - 改造正在返回一个空的响应体
- opencv - 如何匹配两个撕裂的边缘?
- spring - 如何使用“IN”创建自定义 Spring JPA 查询?
- javascript - react-native-pages scrollToPage 不是函数
- javascript - 当dom被触发时,如何构建一个事件处理函数作为`event`对象