问题标签 [prism-4]
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.
visual-studio-2010 - Prism V4 作为 xbap
我已经尝试了大多数我能找到的在线教程,这些教程告诉你如何使用 Prism v4 做一个 xbap 应用程序。
我不断地遇到障碍。我想知道是否有人这样做过,如果是这样,也许他们愿意分享他们是如何做到的。
同样,这是在 Visual Studio 2010(终极版)上作为 WPF XBAP 运行的 Prism v4。
wpf - Prism v4:Unity 还是 MEF?
我下载了Prism v4并运行了安装程序。我进入目录并运行以下两个批处理文件:
- 仅限桌面 - 使用 Mef QuickStart.bat 打开模块化
- 仅限桌面 - 使用 Unity QuickStart.bat 打开模块化
当我编译这些应用程序时,我看不到任何真正的区别。我搜索了 MEF vs Unity,发现了一些优点/缺点,但没有具体说明在 Prism 中使用是否“更好”(我知道这是主观的)。我想也许如果我列出我的要求,有人可以指出我要使用的正确技术(即使它不是 Prism 4)。
- 该应用程序将使用 WPF(而不是Silverlight)编写。
- 主要应用程序将非常薄。
- 主应用程序将使用 Web 服务来构建用户可以访问的“应用程序/模块”菜单。
- “应用程序/模块”将完全包含在其他托管库中。
- 主应用程序通过反射到这些 DLL 中来获取视图和视图模型。
- 主应用程序应该将日志等服务提供给这些“应用程序/模块”。
例如:
基本用户可能有以下选项:
- 仅查看地址记录
所有与地址相关的项目都在 Address.dll 中。
高级用户可能有以下选项:
- 新地址记录
- 打开地址记录(更新/删除)
- 管理用户
所有与地址相关的项目都在 Address.dll 中。
所有与管理相关的项目都在 Admin.dll 中。
该应用程序实际上不应引用这些 DLL 中的任何一个,我计划对其进行反映,以便如果有 100 个不同的模块并且用户只能访问其中的 2 个,则只有其中 2 个被下载和使用。而有权访问其中 10 个的用户将获得这 10 个。
我已经通过 WebService 解决了下载 DLL。:)
prism-4 - c#关于基类属性的问题
看来我应该知道这一点,我以为我知道了。我有基本视图模型类,其中我有几个属性,但它们都使用自动 getter 和 setter,所以当然这些都可以正常工作,但我有一个必须广播事件(我正在使用 prism)所以它看起来像这样。
我遇到的问题是,当我尝试在派生自它的类中分配 IsValid 时 - 编译器错误说它是只读的......我认为 protected 是我需要做的修复它没有。
此外 - 当我需要设置器调用 RaisePropertyChanged 或其他任何东西时,我一直不得不为所有内容声明这些私有变量......有没有更好的方法来做到这一点?
谁能指出我正确的方向?谢谢!!!
wpf - MVVM 框架和 Prism 4?
我刚读了这个问题。它有一些很好的答案,但它们已经超过 1 岁了,并且在过去一年中这个领域发生了很多变化。一些最流行的框架已经出现在新的市长版本中,例如 Prism 和 MVVM Light Toolkit。
我的问题在某种程度上是相同的,但有一点不同,由于区域和模块功能,我已经在使用 Prism 4.0。
Prism 4.0 包含 MVVM,但我觉得有些东西“不是轻量级的”,例如交互请求。所以我在想使用另一个 MVVM 框架作为 Prism 4.0 的替代或补充会更好吗?
silverlight - Prism 主要用于 Silverlight 吗?
我读到的大部分文章/教程/博客文章都是关于微软的 Prism 框架中心的 Silverlight。对于需要一点 TLC 的现有桌面应用程序来说,复合模型是一个有趣的模型,我想知道 Prism 是桌面 LOB 应用程序的可行技术吗?
wpf - WPF Microsoft.Windows.Controls.Ribbon.RibbonApplicationMenu & PRISM
我目前正在使用 PRISM 和 Microsoft WPF 功能区控件构建应用程序。到目前为止,我已经能够通过如下编码 shell XAML 来使用 RegionManager 将选项卡添加到功能区......
然后在每个模块的 IModule.Initialize 方法期间向功能区添加其他选项卡,如下所示...
我现在要做的是为 RibbonApplicationMenu 实现类似的东西。我尝试了以下...
但这实际上以嵌入在应用程序菜单中的应用程序菜单结束(想想单击下拉菜单,另一个下拉菜单也可供您单击)。
显然我可以看到两者之间的明显区别;对于选项卡,我添加了一个单独的 RibbonTab,对于菜单项,我实际上添加了另一个 RibbonApplicationMenu。问题是,我找不到任何关于创建我认为可以用来“将东西合并在一起”的“RegionAdapters”的文档;我理解为什么要添加单个 RibbonTab 的作品(尽管在未来的模块中可能需要添加多个 RibbonTab,我希望不必像我目前拥有的那样单独编码每个 RibbonTab 并按照上面的示例)。同样,我知道我将不正确的子项添加到 RibbonApplicationMenu,这就是为什么我会生成嵌入式 RibbonApplicationMenu 而如果我单独编码每个 RibbonApplicationMenuItem(因为我有 RibbonTab'
我想这里的问题(是的,我终于明白了)是如何最好地解决这个问题?
在理想的世界中,我希望能够拥有一个 XAML 文件(每个模块),其中包含我想要添加到 shell 的所有 RibbonTab。同样,我希望每个模块有一个 XAML 文件,其中包含我要添加到 RibbonApplicationMenu 的所有项目。最后,我希望能够像现在一样使用 RegionManager 添加这些。
提前感谢您的帮助。
c# - Prism v4:它是否已经包含处理值转换器(作为单例)的方法?
我在网上找到了这段小代码:
它基本上做了两件事:
1.创建一个单例(非常方便)
2.允许您在不创建静态控件的情况下使用转换器(MarkupExtension
)
我想知道的是,如果我使用 Prism v4 作为我的框架,是否已经内置了类似的东西。我宁愿使用 Prism 内置的任何工具,也不愿编写类似或重复的代码。我对 Prism 不是很熟悉,但我在里面找不到这样的东西。哦,我也有类似的功能IMultiValueConverter
。
wpf - PRISM 引导程序问题
我正在启动一个 PRISM + MEF、WPF 应用程序。
在引导程序中,我遇到了一些问题。找不到 RootVisual 属性(silverlight vs wpf?,我应该用什么代替 WPF?),我看到每个人都使用 UserControl 作为外壳
如何在 PRISM (MEF+WPF) 中将 RibbonWindow 设置为 'rootvisual' (shell)?(我启动了一个功能区 WPF 应用程序)。也许这不是我想要做的事情,但我没有找到任何使用 RibbonWindow 而不是 UserControl 作为 WPF 应用程序的 PRISM 中的 Shell 的示例。
我搜索了stackoverflow,但它无法为我提供明确的答案。
提前致谢。
编辑:确实是Window,过了一会儿才发现。“d0h!”
log4net - 用于 Log4Net 的 Prism 4 ILoggerFacade?
我正在从 Prism 2.1 转换为 Prism 4,我需要为 Log4Net 编写一个 ILoggerFacade 类。我来自 Prism 2.1 的旧代码不再有效。有没有人愿意分享 ILoggerFacade 类的示例代码?谢谢你的帮助。
.net - Prism CompositeEvent 未使用助手类指定的匿名过滤器委托触发
我有一个 TestEvent 类,如下所述:
如果我像这样订阅事件:
该事件不会被触发。但是,如果我像这样订阅它:
它“确实”着火了。尽管在概念上,在句法和逻辑上都是相似的。唯一的区别是第一个使用事件类中的辅助方法来订阅事件。
我确信这与 CompositeEvent 类保留的对委托的弱引用有关,因为如果我在订阅调用中设置 keepSubscriberAlive=true (第三个参数),第一个有效。我不能只采用那个解决方案,因为我不知道它会保持什么?会是订阅该事件的类吗?如果是这样,那么即使没有传递 false,该类仍然存在,那么为什么在第一种情况下没有触发/处理该事件?
谁能解释这种行为?