如何绑定treeView 中右键菜单 MenuItem 的Command
有个关于WPF 中TreeView ContextMenu MenuItem 右键菜单,绑定Command的问题,请教大家一下代码如下
<Controls:EverTreeView HorizontalAlignment="Left" Height="364" Margin="26,52,0,0" Name="ResourecesTreeView" EverSelectedItem="{Binding SelectedTreeViewItem}" ItemsSource="{Binding ResourcesSettingModel.TvResourceGroup,Mode=TwoWay}" VerticalAlignment="Top" Width="256" >
2 <Controls:EverTreeView.Resources>
3
4
5
6 <ContextMenu x:Key="treeViewOperation">
7 <MenuItem Header="添加" Command="{Binding DataContext.MenuAddCommand, RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>
8 <MenuItem Header="修改" />
9
10
11 <MenuItem Header="删除" />
12
13
14 </ContextMenu>
15
16 </Controls:EverTreeView.Resources>
17
18 <Controls:EverTreeView.ItemContainerStyle>
19 <!--
20 This Style binds a TreeViewItem to a PersonViewModel.
21 -->
22 <Style TargetType="{x:Type TreeViewItem}" >
23 <Setter Property="IsExpanded" Value="{Binding ResourcesSettingModel.IsResourceTreeExpanded, Mode=TwoWay}" />
24 <Setter Property="IsSelected" Value="{Binding ResourcesSettingModel.IsResourceTreeSelected, Mode=TwoWay}" />
25
26 <Setter Property="FontWeight" Value="Normal" />
27
28 <Style.Triggers>
29 <Trigger Property="IsSelected" Value="True">
30 <Setter Property="FontWeight" Value="Bold" />
31 </Trigger>
32 </Style.Triggers>
33 <!-- We have to select the item which is right-clicked on -->
34
35
36
37 </Style>
38 </Controls:EverTreeView.ItemContainerStyle>
39
40 <Controls:EverTreeView.ItemTemplate>
41 <HierarchicalDataTemplate ItemsSource="{Binding ChildTreeViewItems}" >
42 <TextBlock Text="{Binding NodeName}" ContextMenu="{StaticResource treeViewOperation}" />
43 </HierarchicalDataTemplate>
44
45 </Controls:EverTreeView.ItemTemplate>
46
47 </Controls:EverTreeView>
code=csharp]public class ResourcesSettingViewModel : SoftGuidanceViewModelBase
2 {
3 #region Contructor
4 public ResourcesSettingViewModel()
5 : this(new ResourcesSettingModel())
6 {
7
8 }
9 public ResourcesSettingViewModel(ResourcesSettingModel resourcesSettingModel)
10 {
11 this.resourcesSettingModel = resourcesSettingModel;
12
13 }
14 #endregion
15 #region Variables
16
17 private ResourcesSettingModel resourcesSettingModel;
18
19 #endregion
20 #region Properties
21 public ResourcesSettingModel ResourcesSettingModel
22 {
23 get { return this.resourcesSettingModel; }
24 }
25 private EverTreeViewItem selectedTreeViewItem;
26
27
28 public EverTreeViewItem SelectedTreeViewItem
29 {
30 get { return this.selectedTreeViewItem; }
31 set
32 {
33 if (this.selectedTreeViewItem == value)
34 {
35 return;
36 }
37 this.selectedTreeViewItem = value;
38 this.RaisePropertyChanged(() => this.SelectedTreeViewItem);
39 }
40 }
41
42
43 #endregion
44 #region Command
45 public ICommand MenuAddCommand
46 {
47 get
48 {
49 return new DelegateCommand(()=>
50
51 {
52 MessageBox.Show("");
53 });
54 }
55 }
56
57
58
59
60
61 #endregion
62
63 //private EverTreeViewItem GetSelectdTreeViewItem()
64 //{
65 // EverTreeViewItem treeViewItem = (EverTreeViewItem)SelectedTreeViewItem;
66 // return treeViewItem;
67 //}
68 }[/code]
在绑定menuitem Command 的时候怎么也触发不了,求解???
我用的事prism 框架
--------------------编程问答-------------------- 除
补充:.NET技术 , C#