2010-03-09 3 views
1

у меня субменю в ContextMenu, который ItemSource установлен в выражении, какВ ролях MenuItem к связанному объекту

ContextMenu.Items[i].ItemsSource = DatabaseInstance.GetAllObjects() 

Когда я обрабатывать щелчки от ContextMenu у меня есть этот обработчик событий: XALM:

<ContextMenu MenuItem.Click="ContextMenu_Click"> 

C#:

 if (e.OriginalSource as MyObject == null) { 
      //Not MyObject. Choose action by comparing Header 
     } 
     else { 
      // The clicked item is a MyObject, send to another method 
     } 

Но даже несмотря на то, OriginalSource был созданный объектом типа MyObject, я всегда получаю как null.

Как мне это сделать?

ответ

0

Вы можете получить экземпляр MenuItem в обработчике и проверить DataContext

if(((FrameworkElement)sender).DataContext is MyObject) 
{ 
    // The clicked item is a MyObject, send to another method 
} 
+0

спасибо. Хотя мне пришлось использовать e.OriginalSource вместо отправителя – ErikTJ

Смежные вопросы