使用StaticResource作为参数的Caliburn.Micro操作消息

时间:2013-01-07 11:18:53

标签: caliburn.micro

如何将此长格式转换为短内联格式。我尝试了各种组合但没有工作。我总是将参数设为null。

<i:Interaction.Triggers>
    <i:EventTrigger EventName="GotFocus">
        <cal:ActionMessage MethodName="SelectTool">
           <cal:Parameter Value="{StaticResource contrastTool}" />
        </cal:ActionMessage>
    </i:EventTrigger>
</i:Interaction.Triggers>

我试过这个:

cal:Message.Attach="[Event GotFocus] = [Action SelectTool({StaticResource contrastTool})]"

但这不起作用

1 个答案:

答案 0 :(得分:0)

可以使用Caliburn.Micro Contrib(也可通过Nuget获得)解决。

要启用XamlBinding,请在引导程序中插入以下代码

FrameworkExtensions.Message.Attach.AllowExtraSyntax(MessageSyntaxes.SpecialValueProperty | MessageSyntaxes.XamlBinding);

然后在Xaml中你可以使用

cal:Message.Attach="[Event GotFocus] = [Action SelectTool({StaticResource contrastTool})]"