如何获取菜单项的原始对象,绑定到列表

时间:2017-09-25 10:59:18

标签: wpf data-binding

我有 MyList 的对象列表,其中包含Name和ID属性。 我也有XAML:

<MenuItem ItemsSource="{Binding MyList, Converter={StaticResource MyConv}} Click="MyMethod">

数据转换器 MyConv 根据对象属性(例如,对象属性)将 MyList 中的对象转换为字符串列表。姓名和身份证。

我需要在 MyMethod 中获取原始对象,但如果我处理click事件,则此代码将打印“System.String []”:

Private Sub MyMethod(sender As Object, e As RoutedEventArgs)
    Dim mnuItm as MenuItem = DirectCast(sender, MenuItem)
    Debug.WriteLine(mnuItm.ItemsSource.GetType)
End Sub 

如何获得原始对象,该对象被绑定到单击的菜单项?

1 个答案:

答案 0 :(得分:0)

  

如何获得原始对象,该对象被绑定到单击的菜单项?

您无法从ItemsSource的{​​{1}}属性中获取它。

但是,正如@Clemens在他的评论中指出的那样,你应该能够将MenuItem的{​​{1}}转换为定义DataContext属性的任何类型,并访问原始集合,例如:

MenuItem