这是我的 TreeView 的“ItemSource”的 ObservableCOllection:
ObservableCollection<Tuple<string, object>>
问题是我现在正在编写SelectedItemChanged
事件并且我遇到了以下问题。据我尝试,除了函数声明之外,我什么也得不到:
private void plugin_Selected(object sender, RoutedPropertyChangedEventArgs<object> e)
(我在 xaml 中得到了以下代码:
SelectedItemChanged="plugin_Selected"
)
问题是当我这样做时
e.NewValue.GetType()
当然我有一个Tuple<string, object>
但是在我的plugin_Selected中我必须访问Item2(我的元组的对象)我想到的合乎逻辑的事情是用以下方式重写我的函数:
private void plugin_Selected(object sender, RoutedPropertyChangedEventArgs<Tuple<string, object>> e)
但我收到以下错误:
No overload for 'plugin_Selected' matches delegate 'System.Windows.RoutedPropertyChangedEventHandler<object>'
那么,我可以做些什么来访问我的 Tuple 的 Item1 (字符串)和 Item2 (对象)值?
编辑:我得到了这个测试,这可能是解决问题的一种方法
if (e.NewValue.GetType() == typeof(Tuple<string, object>))
但我不知道下一步该怎么做,原因如下:
object MyObject = = e.NewValue.Item2;
不编译... :(