WPF Tips: Listbox SelectionChanged触发前的选项
Posted Jane&Coding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF Tips: Listbox SelectionChanged触发前的选项相关的知识,希望对你有一定的参考价值。
想在Listbox的SelectionChanged事件触发时对之前的选项进行处理。但是listbox没有previewSelectionChanged事件。
解决办法:
1. Validation
因为要处理的项在TextBox中,所以可以给TextBox添加一个Validation。但是由于TextBox是与Property Binding,而Validation是在binding赋值之前进行操作(调试过程中是这样的流程),所以无法获取textbox中的值。如果没有binding应该是可以。
参考:https://social.msdn.microsoft.com/Forums/vstudio/en-US/e96c725e-a86d-427e-944b-fcc4273ac260/any-way-to-preview-the-listviewselectionchanged-event?forum=wpf
2. 获取SelectionChangedEventArgs中的RemovedItem。最后采用的这个方法。
private void ListBox_SelectionChanged(object sender , SelectionChangedEventArgs e)
{
// Here are your old selected items from the selection changed.
// If your list box does not allow multiple selection, then just use the index 0
// but making sure that the e.RemovedItems.Count is > 0 if you are planning to address by index.
IList oldItems = e.RemovedItems;
// Do something here.
// Here are you newly selected items.
IList newItems = e.AddedItems;
}
参考:http://stackoverflow.com/questions/1548237/how-to-get-something-like-previewselectionchanged-event-in-listbox
以上是关于WPF Tips: Listbox SelectionChanged触发前的选项的主要内容,如果未能解决你的问题,请参考以下文章
WPF:将 ListBox ContextMenu 的命令参数绑定到 ListBox 的选定项
WPF绑定第二个ListBox与第一个ListBox中的选定项目相关