簡體   English   中英

Caliburn Micro:在Windows Phone模板中找不到方法的目標

[英]Caliburn Micro: no target found for method in Windows Phone template

我有一個帶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“魔術”來使其正常工作。

解決此問題的方法是在視圖的根元素中添加一個名稱(例如: x:Name="Page" ),並將其添加到RadContextMenu

<telerikPrimitives:RadContextMenu micro:Action.TargetWithoutContext="{Binding ElementName=Page, Path=DataContext}" ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM