Контекстное меню древовидного представления - передать выбранный элемент в команду? - PullRequest
0 голосов
/ 02 февраля 2012

Мне интересно, как передать выбранный элемент в команду из древовидной структуры / HierarchicalDataTemplate?

Вот код, который у меня есть, он отображает контекстное меню, но я еще не привязал к нему команды. Привязка команд является простой частью, но как мне узнать, с какого узла она пришла?

<HierarchicalDataTemplate 
    DataType="{x:Type viewModel:UsersViewModel}" 
    ItemsSource="{Binding Children}">
    <StackPanel Orientation="Horizontal">
        <Image Width="16" Height="16" Margin="3,0" Source="Images\Region.png" />
        <TextBlock Text="{Binding UserName}">
            <TextBlock.ContextMenu>
                    <ContextMenu>
                        <MenuItem Header="Edit" />
                        <MenuItem Header="Delete"/>
                     </ContextMenu>
                </TextBlock.ContextMenu>
        </TextBlock>
    </StackPanel>
</HierarchicalDataTemplate>

1 Ответ

1 голос
/ 02 февраля 2012

Просто {Binding} должен быть целым элементом.

(Чтобы передать его в Command, связать CommandParameter, в Execute и CanExecute он станет параметром метода (которыйЗатем вам нужно привести к вашему типу предмета))

...