2

この長い形式を短いインライン形式に変換するにはどうすればよいですか? さまざまな組み合わせで試しましたが、どれもうまくいきませんでした。私は常にパラメータを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})]"

しかし、これは機能しません

4

1 に答える 1

0

これは、Caliburn.Micro Contrib (Nuget からも入手可能) を使用して解決できます。

XamlBinding を有効にするには、ブートストラップに以下のコードを挿入します

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

次に、Xamlで使用できます

cal:Message.Attach="[Event GotFocus] = [Action SelectTool({StaticResource contrastTool})]"
于 2013-01-14T07:54:07.090 に答える