4

我在使用 Prism 4 时遇到未知问题。我们以 MVVM 模式实现业务解决方案。为此我使用过

 1. Microsoft.Expression.Interactions

 2. System.Windows.Interactivity

 3. GalaSoft.MvvmLight.Extras.WPF4

对于 Interaction.Triggers、CallMethodAction 和 EventToCommand。

<SWI:Interaction.Triggers>
    <SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="GotFocus">
        <MEI:CallMethodAction TargetObject="{Binding Path=DataContext,ElementName=txtName}" MethodName="txtName_GotFocus"></MEI:CallMethodAction>
    </SWI:EventTrigger>
    <SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="KeyUp">
        <GMEWCMD:EventToCommand   Command="{Binding Path=DataContext.cmdtxtNameKeyUpEvent,ElementName=txtName}" PassEventArgsToCommand="True">
        </GMEWCMD:EventToCommand>
    </SWI:EventTrigger>
</SWI:Interaction.Triggers>

一切正常,但现在我们需要使整个系统松散耦合,我们选择 prism 4。我们已经实现了这一点,但上面的代码会产生如下问题。

无法加载文件或程序集“Microsoft.Expression.Interactions,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。

如果我在上面的代码评论一切正常。不知道是什么问题。PRISM 4 不支持上述组件吗?

请帮助我们摆脱这个问题。

谢谢

4

3 回答 3

14

当我在属于模块的视图中同时引用 Microsoft.Expression.Interactions 和 System.Windows.Interactivity 时,这通常发生在我身上,但我也未能将这些引用添加到充当 shell 的项目中。

于 2013-01-16T18:39:17.600 回答
1

我在 Visual Studio 2012 中遇到了类似的 Prism 问题。XAML 编辑器会因同样的异常而失败。

解决方案是安装Microsoft Expression Blend SDK。程序集应该是 SDK 的一部分。据称,XAML 中的控制事件和命令之间的绑定是必要的,某些代码可能需要它。

于 2014-01-07T21:24:29.177 回答
1

我在使用 .NET 4.5.2 的 Prism 6.1 复合应用程序中遇到了同样的问题,我在其中一个模块(类库)中引用了 Microsoft.Expression.Interactions 和 System.Windows.Interactivity。最终我不得不在桌面项目中引用相同的dll(引导程序和Shell属于)

于 2015-11-08T09:14:32.503 回答