TreeView.MouseRightButtonUp事件触发SelectedItemChanged问题XAML

时间:2017-03-24 19:50:56

标签: c# wpf xaml treeview dependency-properties

我有一个自定义的树视图助手正在触发iCommands,我想知道是否有人可以查看我的代码并帮助我识别问题。

private static void PreviewMouseRightButtonDownChanged(DependencyObject obj, DependencyPropertyChangedEventArgs dpe)
    {
        if (!(obj is TreeView))
            return;

        var view = obj as TreeView;

        view.SelectedItemChanged += (sender, e) => SetSelectedItem(view, e.NewValue);
        view.MouseRightButtonUp += (sender, e) => SetSelectedItem(view, e.Source );

        var command = (ICommand)(view as DependencyObject).GetValue(PreviewMouseRightButtonDownProperty);
        if (command != null)
        {
            if (command.CanExecute(null))
                command.Execute(new DependencyPropertyEventArgs(dpe));
        }
    }

我的问题是,当触发事件MouseRightButtonUp时,我想将e.NewValue传递给SetSelectedItem。在上面的函数中,您可以看到它正在传递'view'和'e.Source'。我不希望它传递e.Source,而是希望它传递给e.NewValue。

0 个答案:

没有答案