我的ListBox.SelectedValue返回第一个选定的项目,而不是当前选定的项目。 (当前选择的项目表示除了选定的项目,我还显示最后一项已选中)
我的SelectionMode这次是多次而不是单次。
private void ListBoxSource_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var fileSelected = (FileFound)this.ListBoxSource.SelectedValue;
BitmapImage bmpImage = new BitmapImage();
bmpImage.BeginInit();
bmpImage.UriSource = new Uri(fileSelected.FileFullName, UriKind.Absolute);
bmpImage.EndInit();
Image1.Source = bmpImage;
}
现在,我没有在事件中执行此操作,而是尝试将我的Image控件绑定到ListBoxSource 但是没有显示任何内容。
Source="{Binding ElementName=ListBoxSource, Path=SelectedItems
是否有机会绑定它?或者我的SelectionChangedEvent代码有什么问题?
答案 0 :(得分:3)
查看e.AddedItems
和e.RemovedItems
。如果你有多选的话,不确定currently selected item
是什么意思?
[编辑]
如果您想要最后选择的项目,那么
var lastItem = e.AddedItems[e.AddedItems.Count - 1];
答案 1 :(得分:2)
要获取最后选择的项目,您需要SelectedItems
属性的最后一个索引。
var lb = (sender as ListBox);
lb.SelectedItems[lb.SelectedItems.Count - 1];
修改强>
要将最后选择的项目作为FileFound对象,我想你想要这个:
var lb = (sender as ListBox);
FileFound lastSelectedFile =
(FileFound)lb.SelectedItems[lb.SelectedItems.Count - 1];