在使用 ListBox 的 SelectionChanged 事件时,当你连续选择同一项时该事件不会响应。就是当重复选中同一个 Item 时,SelectionChanged 事件只是在第一次选中 Item 时触发,我们期望的是每次都能触发。这是因为这是一个SelectionChanged事件,我们连续选择同一项时SelecttedItem并没有改变,因此不会触发。但是我们可以手动更改SelectedIndex达到选择改变的效果。解决思路 :在 SelectionChanged 事件处理方法的最好加上 ListBox.SelectedIndex = -1,即没有选中任何 Item,这样下次再选择某项时SelectionChanged就会触发了。 或者也可以在ListBoxItem上面添加MouseDown事件,这样只要你点击了某项就会有响应。
示例代码:
private void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
if (listBox.SelectedIndex == -1)
return;
// 这里填写你所需要处理的代码
// 最好修改SelectedIndex
listBox.SelectedIndex = -1;
在使用 ListBox 的 SelectionChanged 事件时,当你连续选择同一项时该事件不会响应。就是当重复选中同一个 Item 时,SelectionChanged 事件只是在第一次选中 Item 时触发,我们期望的是每次都能触发。这是因为这是一个SelectionChanged事件,我们连续选择同一项时SelecttedItem并没有改变,因此不会触发。但是我们可以手动更改Select
ListBox控件
ListBox控件继承自ContentControl类,是一个容器类的控件,向ListBox控件中包含ListBoxItem元素向容器中添加成分,也可以添加其他任意的控件。
<ListBox x:Name="listBox" Margin="5" Height="auto" VerticalAlignment="Top">
<ListBoxItem>
<Image Source="C:\王祺\学校\CSharp学习\Code\d590c
l SelectionChangeCommitted事件
在设定datasource和displaymember和valuemember时,以及手动改变combobox索引和值时都不触发该事件, 只是在界面选择combobox不同值时触发
2 SelectedIndexChanged事件 索引改变时触发
3 SelectedValueChan...
包含可选项列表。
ListBox为ItemsControl,这意味着它可以包含任何类型的对象的集合 (例如字符串、图像或面板) 。有关更多信息,请参见ItemsControl类。
ListBox中的多个项是可见的,不同于ComboBox,只有选定项可见,除非IsDropDownOpen属性为true。SelectionMode属性确定ListBox中的多个项是否一次可选择。
SelectionMode属性确定用户一次可以选择多少项。可以将属性设置为Single(默认)...
listbox 一般我们都是动态填充的, 也许你也写了一个类似 freashList() 的函数并放到了pageload里面
就会出现这种莫名奇妙的总是返回 0 / -1 的错误而且没有任何的错误提示.
只要这样做就好了.
希望有帮助 :)
<ListBox Name="list_axis" DisplayMemberPath="Name" SelectedValuePath="Num" SelectionChanged="list_axis_SelectionChanged"/>
DisplayMemberPath属性:显示的值
SelectedValuePath属性:在选中某个Item时我们可以通过ListBox的SelectedValue属性获取的值的类型
我们先构建一个list
出现的问题:
ListBox 中给了它一个这样的事件SelectionChanged="NumBasket_SelectionChanged" 也就是单击某行就会触发的事件,要实现的效果是,单击此行时,此行的信息移除
本以为写这行代码可以实现效果:
'已经选号变动
Private Sub NumBasket_SelectionChanged(sender A...