问题标签 [prism-5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
321 浏览

wpf - 父区域导航时如何在嵌套子区域中触发 NavigatingFrom

我有嵌套区域

一个。父视图/父区域/父视图模型
b. Child1View/ChildRegion/Child1ViewModel
b. Child2View/ChildRegion/Child2ViewModel
b. Child3View/ChildRegion/Child3ViewModel

案例 1:当 Parent 导航时,我需要有一个事件或触发器,它发生在 ParentViewModel 中。但是父母不知道孩子的类型,所以如果任何孩子无效,我希望提示用户保存或取消。如何做到这一点?

案例 2:我的 ChildRegion 就像在兄弟姐妹之间导航,即使在孩子之间导航时我需要触发一个事件,并且如果当前视图无效或不完整,应该能够停止导航

我的试验:我对所有父母和孩子都做了 INavigationAware 但是当父母导航孩子时不会触发,我在父母导航中没有提到孩子。

我该如何解决这种情况?

0 投票
1 回答
747 浏览

wpf - Prism 5 和 Unity - 使用已连接的 ViewModel 手动解析视图

使用: WPF、Prism 5、Unity

我正在尝试编写我称之为“WindowDialogService”的东西,当传递一个类型并调用它时,它将打开一个以该类型作为内容的窗口。我的问题是我无法让 ViewModel 实例化并关联到 View。

我不知道它是否正确,但我AutoWireViewModel在我的视图中使用并假设(显然不正确)在使用 Unity 容器解析时 ViewModel 将被“定位”,即container.TryResolve <T> ()

所以基本上,我可以解析视图,但视图的 DataContext 为空。

我在下面包含了所有相关代码。

看法

视图模型

IWindowDialogService 接口

WindowDialogService 实现

0 投票
0 回答
162 浏览

wpf - 使用 White 的 Prism wpf 项目的 UI 自动化

我使用 Prism 框架创建了 WPF 应用程序。现在我需要对其执行 UI 自动化。我已将 White UI 自动化框架用于普通 WPF 应用程序,但我无法使用 White 在 Prism 中编写 UI 测试。

如何在 Prism 应用程序中编写 UI 测试。

除了 White 和 Coded UI,还有其他框架可以执行 UI 自动化测试吗?

0 投票
2 回答
275 浏览

wpf - WPF Prism 基本 mvvm 快速启动项目错误“开箱即用”

我从 Microsoft 下载了 prism5.exe 并对其进行了扩展,留下了各种快速启动项目。我只是打开了“库存”BasicMVVMQuickstart_Desktop 解决方案。

起初我收到一个“在命名空间错误中找不到名称”(在下面提到的同一行,顺便说一句),但是在关闭并重新打开 Visual Studio 每个堆栈溢出帖子后,我现在收到此错误:

这是 XAML 代码和错误所在的行:

在此处输入图像描述

我已经引用了其他堆栈溢出问题,但仍然无法解决这个问题。

一篇文章建议升级到 Prism 6。我执行了 NuGet 中唯一可用的升级,将 Microsoft.Practices.Prism.Mvvvm 更新到 v 1.1.1.0。

我在我的项目中的任何地方都没有看到 Prism.Core,所以我猜这是关于 Visual Studio 和我不太了解的包的一些东西。无论如何,我卸载了 Prism.Core 4.0,然后安装了 Prism.Core 6.2,但由于我在 Visual Studio 的任何地方都看不到 Prism.Core,我不知道是否有任何更改。

所以除了试图了解如何纠正上述错误之外,我还想了解我如何使用 Prism 6 而不是 Prism 5。这让我有点困惑。

0 投票
1 回答
392 浏览

c# - 棱镜。EventAggregator 到当前活动的选项卡

我有这个 UI 外壳:
在此处输入图像描述

在刷新按钮上,我打电话_eventAggregator.GetEvent<RefreshEvent>().Publish();

并且标签中所有区域的代码都订阅了这个事件。

问题: 问题是我只想更新当前活动的选项卡。但就我而言,所有选项卡都在更新。有没有解决这个问题的好习惯?

编辑 1
IActiveAware在我看来实现:

将此视图添加到 tabControl:

.

我检查 的状态IsActive,如果我单击选项卡,它总是会改变(正常工作)。

问题: 如果选项卡未处于活动状态,则该选项卡中的命令会在我的全局复合按钮上触发,但不能。

0 投票
1 回答
1066 浏览

c# - 从 PRISM 5 升级到 6

我们有一个当前使用 PRISM 5 的应用程序,我们使用升级说明从 PRISM 4 迁移: https ://msdn.microsoft.com/en-us/library/ff921144(v=pandp.40).aspx

从 PRISM 5 到 6 是否有类似的升级说明?

我对重大更改感兴趣,以便我们相应地计划升级。

更新:https ://github.com/PrismLibrary/Prism/wiki/Release-Notes---6.0.0

0 投票
1 回答
3235 浏览

wpf - 在 viewmodel 中有 prism 的 RegionManager 参考是一个好习惯吗

我正在使用 PRISM 开发复合 WPF 应用程序。我有一个具有父用户控件的窗口。此父用户控件定义了许多子区域。子视图使用 MEF 的“REGIONEXPORT”属性导出自己。每个子视图导入/创建自己的视图模型。父用户控件具有“确定”和“取消”按钮。按“确定”后,我想验证并保存所有子视图模型。如果任何验证失败,则需要知道父用户控件的视图模型。为此,我使用复合命令并将其设置在 RegionContext 中。每个子视图模型都通过区域上下文获取该复合命令,希望您了解基本上我需要在父视图模型和子视图模型之间共享数据。因此,我需要在子视图模型中获取 RegionContext,因为我正在从 RegionManager 的视图模型的构造函数中导入 RegionManager(使用导入构造函数),我获取区域上下文,然后获取命令。

  1. 在视图模型中拥有区域管理器是一个好习惯吗?
  2. 这不会破坏 MVVM 吗?我们在视图模型中有视图相关的东西
  3. 有没有更好的方法在视图模型之间共享数据(事件聚合器除外)
0 投票
2 回答
1325 浏览

wpf - 棱镜 5.0 InvokeCommandAction SelectionMode="Multiple"

我想通过 InvokeCommandAction prism 5.0 检测列表框中的所有选定项目。

XAML

查看型号

它应该工作,但它没有。当我在 GUI 中选择多个项目时:

在此处输入图像描述

查看模型代码仅识别一项:

在此处输入图像描述

我在 Brian Lagunas的“Prism 5.0 中的新功能”中看到了这个例子,据我所知,这个技术也可以用于多选。我在这里做错了什么?

0 投票
1 回答
533 浏览

c# - 我可以将 Prism 5 与 .NET 4.6.2 一起使用吗

我使用 Visual Studio 2013 并将 WPF 解决方案从 .NET 4.5.1 升级到 4.6.2。

我使用的是 PRISM 5 库,但我似乎在升级后遇到了一些与使用 Prism 的类相关的构建错误,如下所示:

Prism 5 是否应该使用 .NET 4.6.2 构建和运行?像这样的链接表明 Prism 5 可能只支持 4.5.x,但是很多谷歌让我无处可寻。

0 投票
0 回答
163 浏览

c# - 当使用 Prism DeepLink 到 ListView 中的一行时,如何更新 ListView 滚动和突出显示?

我正在使用带有 Prism 的 Xamarin Forms,基于此 GitHub 示例。.

期望的行为

  1. 单击深层链接,显示详细视图:

    在此处输入图像描述

  2. 用户按下返回按钮。滚动并突出显示链接的选择(未发生)。
    没有任何OnNavigation事件正在触发。这是一个错误吗?我该如何做到这一点?

    在此处输入图像描述

应用程序.Xaml

ShowsListPage.xaml

ContentPage 正在使用 Prism 指令:prism:ViewModelLocator.AutowireViewModel="True". (没什么特别的)

ShowsListPageViewModel.cs

问题

  • 如何获得后退按钮来选择列表视图?
  • 是否有任何平台指导说深层链接后的后退按钮必须转到源调用应用程序.. 使这个问题无用?(例如将导航弹出回 Chrome/Safari)