【发布时间】:2014-04-01 13:34:36
【问题描述】:
我有以下NavBar,Content数据模板标记如下:
<dxn:NavBarControl Name="SideMenuNavBar" DataContext="{Binding}" IsEnabled="{Binding Enabled}" ItemsSource="{Binding Bars}" HorizontalAlignment="Left" VerticalAlignment="Stretch" Margin="1">
<dxn:NavBarControl.Resources>
<Style TargetType="dxn:NavBarGroup">
<Setter Property="Header" Value="{Binding DisplayText}"/>
<Setter Property="Content" Value="{Binding MenuItems}"/>
<Setter Property="DisplaySource" Value="Content"/>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TreeView ItemsSource="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=ChildItems}" DataType="{x:Type common:MenuItemBase}">
<TextBlock Text="{Binding ItemText}" HorizontalAlignment="Stretch">
<TextBlock.ContextMenu>
<ContextMenu DataContext="{Binding RelativeSource={RelativeSource Mode=Self}}">
<MenuItem Header="{Binding MenuText}" Click="MenuItem_OnClick" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</dxn:NavBarControl.Resources>
<dxn:NavBarControl.View>
<dxn:NavigationPaneView GroupDisplayMode="Text" ItemDisplayMode="Text" MaxVisibleGroupCount="12"/>
</dxn:NavBarControl.View>
</dxn:NavBarControl>
绑定正在工作,因为我的一个菜单项树视图正确显示,但是当我单击(MouseDown 事件)时,什么也没发生,或者当我双击以下处理程序时,处理程序不执行:
private void Control_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var x = sender;
}
我在var x = sender; 上的断点永远不会被命中。
注意:我知道我不应该使用事件,而应该使用命令,或者其他一些耦合度更低的代码,但我迫切需要演示当用户单击菜单项时会发生什么,以及在事件之前,我的代码命令也没有触发。这里有什么问题?
【问题讨论】:
-
在哪里注册 MouseDown-Event?我只有MenuItem的Click-Event
-
你使用的是什么版本的 DevExpress?
-
@Jehof 13.2 现在。
标签: c# wpf mvvm devexpress prism-4