繁体   English   中英

Windows Phone Caliburn Micro HyperLink单击事件

[英]Windows Phone Caliburn Micro HyperLink click event

我正在将Caliburn Micro用于Windows Phone应用程序。 我有一个超链接控件,我想为其将click事件绑定到我的视图模型。 下面是示例代码

XAML,MyPage.xaml

<TextBlock>  
<Run>Got to</Run>
<Hyperlink micro:Message.Attach="[Event Click] = [Action OpenAnotherPage]">
My Page</Hyperlink><Run Text="."></Run></TextBlock>

ViewModel MyPageViewModel.cs

public void OpenAnotherPage()
{
// some code
}

当我点击链接时,出现异常

System.Exception:找不到方法的目标

可能是什么问题呢?

更新1:尝试在超链接控件上设置micro:Action.TargetWithoutContext="{Binding ElementName=MyPage, Path=DataContext}" ,但此方法不起作用

为TextBlock命名,并将其用作ElementName,因为您已将超链接嵌套到该控件中。 然后Update1应该工作。

尝试遵循XAML(未经测试):

    <Hyperlink>My Page
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="Click">
                <ec:CallMethodAction TargetObject="{Binding}" MethodName="OpenAnotherPage" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </Hyperlink>

命名空间如下(您需要引用这两个程序集,它们是Microsoft发行的,并且与MS Expression Blend一起提供)

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM