Добавление контекстного меню в элементы DataTemplate в wp7 - PullRequest
0 голосов
/ 24 января 2011

Как программно добавить контекстное меню, где Conrol (DepedencyObject) создается в шаблоне данных в xaml?

XAML:

<ListBox x:Name="sampleListBox"
            ItemsSource="{Binding SomeCollection}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel x:Name="sp">
                <TextBlock Text="{Binding Value}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Код:

void Initilize()
{
     ContextMenu cm = new ContextMenu();
     cm.Items.Add(new MenuItem());

     ContextMenuService.SetContextMenu( 
              // I am not geting the DepedencyObject as a parameter and 
              // depedency Object has to passed. 
              // My Qyestion is how to get the Stack pannel here.
     , cm);

}

1 Ответ

3 голосов
/ 24 января 2011

Почему бы не использовать XAML для назначения ContextMenu для StackPanel?А если вы хотите настроить ContextMenu, зарегистрируйтесь в его Loaded событии.

Пример:

<ListBox x:Name="samleListBox"
            ItemsSource="SomeCollection">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel x:Name="sp">
                <toolkit:ContextMenuService.ContextMenu>
                    <toolkit:ContextMenu Loaded="OnContextMenuLoaded" />
                </toolkit:ContextMenuService.ContextMenu>
                <TextBlock Text="{Binding Value}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...