【发布时间】:2013-07-16 05:19:30
【问题描述】:
TreeView ContextMenu 未触发事件(ContextMenu Opened 事件未触发),我正在尝试 Caliburn.Micro.Telerik 约定未解决问题。
TreeViewItemTemplate
<HierarchicalDataTemplate x:Key="TreeViewItemTemplate" ItemsSource="{Binding Types}"
ItemTemplateSelector="{StaticResource NamespaceItemTemplateSelector}">
<StackPanel Orientation="Horizontal">
<Path
Data=""
Height="11.458" Margin="0,0,5,0" RenderTransformOrigin="0.5,0.5" Stretch="Fill"
UseLayoutRounding="False" Width="11.264">
<Path.Fill>
<SolidColorBrush Color="#FF333333">
<SolidColorBrush.RelativeTransform>
<MatrixTransform Matrix="Identity" />
</SolidColorBrush.RelativeTransform>
<SolidColorBrush.Transform>
<MatrixTransform Matrix="Identity" />
</SolidColorBrush.Transform>
</SolidColorBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</Path.RenderTransform>
</Path>
<TextBlock Text="{Binding Header}" Tag="{Binding DataContext, RelativeSource={RelativeSource Self}}">
<TextBlock.ContextMenu>
<ContextMenu cal:Action.TargetWithoutContext="{Binding RelativeSource={RelativeSource Self},Path=UIElement.Tag}" cal:Message.Attach="[Event Opened] = [Action Opened($dataContext)]" >
<MenuItem Header="NewChild" cal:Message.Attach="NewChild($datacontext)"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
树视图
<TreeView x:Name="TreeView" ItemTemplate="{StaticResource TreeViewItemTemplate}" ItemsSource="{Binding Source}"/>
【问题讨论】:
-
您的问题是事件未触发还是 Caliburn.Micro 的约定不适用于您的上下文菜单?
-
感谢您的回复,Caliburn.Micro 约定有效,但 ContextMenu 和 MenuItem 事件未触发。
-
@Sniffer 没有解决办法?如果你想上传项目。请帮我。谢谢。
-
我想帮助你,但问题是你使用的是 Telerik 控件,而我没有许可证。如果您可以使用 WPF
TreeView控件复制此问题,然后上传一个版本,我将对其进行研究。 -
感谢回复,此问题存在于标准 ContectMenu 中,将第一篇文章编辑到标准 ContextMenu。
标签: caliburn.micro