4

CallMethodActionPrism ライブラリのサンプルとドキュメントのメソッドを使用して、WPF ウィンドウでコントロールへのバインドを使用しようとしています。何らかの理由で、XAML コンパイラは、Microsoft.Expression.Interactivity.Core名前空間が存在することさえ確認することを拒否します。ただし、そのビューのコード ビハインドで同じ名前空間の同じクラスを使用しても問題はありません。

XAML では、両方の正規の名前空間を試しました。

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ic="http://schemas.microsoft.com/expression/2010/interactions"

CLR 名前空間と同様に:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

名前空間 Intellisense ポップアップ ブラウザーには、最初の名前空間が表示されますが、2 番目の名前空間の XML または CLR 名前空間は表示されません。いずれの場合も、次の XAML はコンパイルに失敗します。

<Button HorizontalAlignment="Right" Content="Cancel">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Click">
            <ic:CallMethodAction />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Button>

タグを見つけるのに問題はありませんが、指定された名前空間にタグが存在しないInteraction.Triggersと不平を言います。CallMethodAction実際、名前空間タグの Intellisense は、icそのような名前空間が存在しないかのように動作します。ただし、存在しない名前空間を使用しようとすると、CLR 名前空間が見つからないというエラーは発生しません。

ただし、このウィンドウのコンストラクターでは、次のことができます。

var x = new Microsoft.Expression.Interactivity.Core.CallMethodAction();

それはコンパイルして正常に実行されます。それはどのように可能ですか?

4

1 に答える 1

3

への参照を削除して再度追加してみてMicrosoft.Expression.Interactions.dllください*.Interactivity.dll

それは私に一度起こりましたが、理由はわかりません。これが私が解決した方法です。

于 2012-03-31T22:16:44.153 に答える