我有一个带有RadDataBoundListBox
的Windows Phone 8应用程序和一个包含上下文菜单的项目模板
<DataTemplate x:Key="ListboxItem">
<Grid>
<telerikPrimitives:RadContextMenu.ContextMenu>
<telerikPrimitives:RadContextMenu IsFadeEnabled="False" x:Name="Menu"
IsZoomEnabled="False">
<telerikPrimitives:RadContextMenuItem Content="{Binding LocalizedResources.Delete, Source={StaticResource LocalizedStrings}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<micro:ActionMessage MethodName="Delete">
<micro:Parameter Value="{Binding Id}" />
</micro:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</telerikPrimitives:RadContextMenuItem>
</telerikPrimitives:RadContextMenu>
</telerikPrimitives:RadContextMenu.ContextMenu>
...
</DataTemplate>
和我的ViewModel中的公共Delete(int)方法。当我单击上下文菜单中的“删除”按钮时,我得到no target found for method
。
我猜问题是上下文菜单(可视化树),需要更多Caliburn“魔法”才能使其正常工作。
答案 0 :(得分:0)
此问题的解决方案是为视图的根元素添加名称(例如:x:Name="Page"
)并将其添加到RadContextMenu
<telerikPrimitives:RadContextMenu micro:Action.TargetWithoutContext="{Binding ElementName=Page, Path=DataContext}" ...