WPF TreeView SelectedItemChanged called twice
2018-09-04 11:09
701 查看
How to avoid WPF TreeView SelectedItemChanged being called twice
Very often, we need to execute some code in SelectedItemChanged depending on the selected TreeViewItem. But SelectedItemChanged is called twice. This is due to stealing focus from the main window, which is screwing something up.
What we have to do to avoid this is simply delay the call to our code, i.e., MyFunction() which we need to execute in SelectedItemChanged. Here's a workaround which delays the call to open the new window until the item selection code finishes up:
private delegate void NoArgDelegate(); void Window1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { Dispatcher.BeginInvoke(DispatcherPriority.Background, (NoArgDelegate)delegate { MyFunction(); }); }
相关文章推荐
- WPF自定义treeview绑定事件SelectedItemChanged
- TreeView- MVVM:fire command on selectedItemChanged
- treeview OnSelectedNodeChanged js的方法
- 由TreeView 如何触发OnSelectedNodeChanged事件想到的与做到的
- webform treeview SelectedNodeChanged事件不响应
- WPF后台生成datatemplate(TreeViewItem例子)
- WPF之ComboBox的SelectedItem、SelectedValue、SelectedValuePath之差异
- WPF中确保显示TreeView选中的Item
- WPF Datagrid.SelectedItem的用法实践
- WPF 从ListBox .SelectedItem 中获取ListBoxItem
- Xamarin.iOS + MvvmCross: UIPickerView data binding, SelectedItemChanged event
- WPF MVVM TreeViewItem
- WPF Combox selectedItem”不能绑定”的问题
- wpf listview selecteditem 报错是因为搞了个itemssource!
- 关于treeview的SelectedItemChanged事件和treeViewItem的Unselected事件
- WPFTreeviewItem
- treeview用OnTreeNodePopulate动态加载后OnSelectedNodeChanged怎么获取节点值
- WPF DataGrid SelectionChanged and SelectedCellsChanged
- WPF TreeView 后台C#选中指定的Item, 需要遍历
- wpf listview的数据绑定(dataset)与selectedItem的数据