2012-11-29 35 views
1

我尝试通过检查PreviewMouseDown事件处理程序中的SelectedItem来获取ListView的选定值。PreviewMouseDown发生在SelectionChanged之前

但是,PreviewMouseDown发生在SelectedItem之前,所以我得到旧的选定值。

如何获取更新的选定值?

+3

你有什么理由不能使用MouseDown而不是PreviewMouseDown? –

+0

我需要在父控件中获取点击事件,所以我需要冒泡事件。 MouseDown将事件触发给儿童而不是父母,所以它不需要任何东西。 谢谢 – zzfima

+1

MouseDownEvent也是路由事件,并冒泡给父母,如果有人处理它,你可以使用AddHandler和最后一个参数为true,请尝试这个 –

回答

0

我不会,因为 “ArsenMkrt” 和 “华尔街程序员” 建议对我说:

在XAML中,我控制:

<loc:RecipeListsControl x:Name="recipeListsControl" DataContext="{Binding Path=RecipeLists}"/> 

在后面的代码:

recipeListsControl.AddHandler(UIElement.MouseDownEvent, new MouseButtonEventHandler(Mouse_Down), true); 
recipeListsControl.AddHandler(UIElement.KeyDownEvent, new KeyEventHandler(Key_Down), true); 

谢谢,球员