当前位置:编程学习 > C#/ASP.NET >>

如何绑定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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,