У меня есть TreeView, и я хочу иметь возможность добавлять к нему детей и базу данных Linq to SQL, к которой она привязана.Treeview ContextMenu без обработчика событий Click в WPF
Лучшим способом, который я могу придумать (с моей головы), было бы то, чтобы пользователь щелкнул правой кнопкой мыши на родительском узле и имел возможность добавить новый элемент из контекстного меню.
Я добавил контекстное меню, но когда я пытаюсь запрограммировать его в конце, он говорит, что с ним не связан обработчик событий.
<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>
Каков правильный способ сделать это?
Когда я первый имел контекстное меню, как часть самого TreeView я был в состоянии сделать обработчик в коде позади 'юг mnuAddRecord_Click (...) обрабатывает mnuAddRecord.click'. Я также попытался добавить обработчик так, как вы предлагаете, но возникли проблемы с получением информации о записи для исходного узла. Я посмотрю на это больше. – AndyD273