Контекстные меню WPF в Caliburn Micro

Я пытаюсь получить контекстное меню в ListBox ItemTemplate для вызова метода родительской модели представления, передавая элемент, на который нажали, в качестве параметра. У меня это работает для других кнопок в шаблоне элемента, но для контекстного меню, похоже, не работает.

У меня есть следующий xaml (, сокращенный для ясности):

<ListBox>
    <ListBox.GroupStyle>
        <GroupStyle>
           ...
        </GroupStyle>
    </ListBox.GroupStyle>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ContextMenu>
                    <ContextMenu Name="cm">
                        <MenuItem Header="Open" 
                                  cal:Message.Attach="Open($dataContext)">

                        </MenuItem>
                </Grid.ContextMenu>

                <TextBlock VerticalAlignment="Center" >
                   .. text..
                </TextBlock>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

У меня такое чувство, что это связано с тем фактом, что визуальное дерево отличается, поэтому Caliburn не может надежно разрешить метод. Я уверен, что это распространенная проблема, и я попробовал несколько вещей, которые нашел в Интернете, но ничего не работает.

Есть идеи??

13
задан Phil Degenhardt 30 May 2012 в 23:52
поделиться