Treeview ContextMenu在WPF中没有Click事件处理程序

时间:2012-10-24 15:55:02

标签: wpf treeview contextmenu

我有一个TreeView,我希望能够将子项添加到它以及它所绑定的Linq to SQL数据库。

我能想到的最好的方法(在我的头脑中)将是让用户右键单击父节点并可以选择从上下文菜单中添加新项目。

我添加了一个上下文菜单,但是当我尝试在后端编程时,它表示没有与之关联的事件处理程序。

        <TreeView Name="TreeView1" Margin="3" ItemsSource="{Binding ElementName=ManufacturerWarranty, Path=ManufacturerQuery, UpdateSourceTrigger=PropertyChanged}">
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Path=WarrantyList}">
                    <TextBlock Name="txtManufacturerName" Text="{Binding Path=ManufacturerName}">
                        <TextBlock.ContextMenu>
                            <ContextMenu>
                                <MenuItem Name="mnuAddRecord" Header="Add Year Record"></MenuItem>
                            </ContextMenu>
                        </TextBlock.ContextMenu>
                    </TextBlock>
                    <HierarchicalDataTemplate.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Path=Years}">
                                <TextBlock.ContextMenu>
                                    <ContextMenu>
                                        <MenuItem Name="mnuDelRecord" Header="Remove Year Record"></MenuItem>
                                    </ContextMenu>
                                </TextBlock.ContextMenu>
                            </TextBlock>
                        </DataTemplate>
                    </HierarchicalDataTemplate.ItemTemplate>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

您忘记了add handler将在click of menuItem

上执行的内容
<ContextMenu>
  <MenuItem Name="mnuAddRecord" Header="Add Year Record" Click="HandlerInClass"/>
</ContextMenu>