2012-10-24 78 views
0

我有一个TreeView,我希望能够添加子项以及它绑定到的Linq to SQL数据库。没有WPF中的Click事件处理程序的TreeView ContextMenu

我能想到的最好的方法(离开我的头顶)应该是让用户在父节点上单击鼠标右键,并且可以从上下文菜单中添加新项目。

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

 <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> 

什么是正确的方法来做到这一点?

回答

0

你忘了add handler将执行上click of menuItem

<ContextMenu> 
    <MenuItem Name="mnuAddRecord" Header="Add Year Record" Click="HandlerInClass"/> 
</ContextMenu> 
+0

当我第一次有上下文菜单树视图本身我能够做处理程序背后'子mnuAddRecord_Click代码(的一部分... )处理mnuAddRecord.click'。我也尝试按照您的建议添加处理程序,但无法获取始发节点的记录信息。我会更多地考虑它。 – AndyD273