问题标签 [caliburn.micro]

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 回答
368 浏览

silverlight - Silverlight 中的 FluidMoveBehaviour

我正在尝试将MIX 2010 上的动态布局和样式演示文稿中的 FluidMoveBehaviour与 MVVM (Caliburn.Micro) 结合使用。

主/细节行为是我所追求的。它不起作用,我想找出幕后发生的事情,看看为什么 Silverlight 没有发现它。

如何调试 FluidMoveBehaviour?

0 投票
2 回答
1397 浏览

wpf - Caliburn Micro 的哪个引导程序

我想听听您认为哪种引导程序(MEF、Unity、Autofac...等)适合(最好的)caliburn micro,为什么?

如果你有一些喜欢的,你可以发布这个引导程序的代码,以及如何在 VM 类或外部程序集上使用它。我会很高兴的。

我是这个领域的新手;对不起,如果我的问题有点愚蠢。

感谢每一个意见、建议和代码示例。

0 投票
3 回答
4925 浏览

wpf - WPF中“LabelLink”控件的单击事件的绑定方法 - Caliburn

嗨,我在“LabelLink”控件的单击事件上绑定方法时遇到问题。我使用伪 LabelLink 控件,我想每个人都知道这个带有文本框和超链接的解决方案。

这是我的代码:

问题是我只能在框架元素上绑定方法。

我得到这个编译错误:

我用谷歌搜索,芽没有找到任何合适的解决方案。

感谢您的建议。

我尝试使用 textBlock 或 Label 控件制作一个假的 linkLabel,但它们没有单击事件处理程序。

0 投票
2 回答
1125 浏览

silverlight-4.0 - ViewModel Dispose 未被调用

我们正在使用 Ninject 和 Caliburn.Micro 创建一个 MVVM WCF Silverlight 应用程序。我遇到的问题是我的视图模型的生命周期。

我创建了一个简单的 ninject 模块来绑定我的视图模型和 wcf 客户端。

在我的 IIdCardViewModel 中,我要求它从 IDisposable 继承,因为我想注册和取消注册 wcf 事件和一些本地非托管引用。

但是,从未调用过 Dispose。

我考虑添加一个停用来调用 dispose,如下所示:

但这迫使我添加两件事,在我的 IDCardModule 中的 Unload 覆盖,它检索对象并释放它:

以及 .InThreadScope() 或 .InSingletonScope() 到我在 Load 中的 Bind 方法。

有没有更简单的方法来强制禁用特定对象?还是我应该研究另一个 IOC 框架?

我调查了 IStartable 并遇到了类似的问题。同样,我深入阅读了Nate 的文章,其中他有一个激活块并将所有内容包装在 using 语句中。我的问题是我的视图模型可以长时间运行,我不相信他的解决方案会在这里工作。同样,拥有一个休眠并调用 GC.Collect 的特殊线程也不好闻。

0 投票
1 回答
667 浏览

wpf - Caliburn.Micro + MEF + SQL CE 一起产生异常无法打开'Db\Some.sdf'。未安装提供程序“System.Data.SqlServerCe.3.5”

嗨,我真的对这种行为感到困惑。我在我的 WPF 应用程序中使用 Caliburn.Micro 作为 MVVM 框架,MEF 用于导出视图模型类。

现在我需要在我的应用程序中使用 SQL compact DB。所以我用 sqlmetal 创建 *dbml 文件,因为在访问数据库时我想使用 LINQ TO SQL。

首先,我创建简单的类来执行 CRUD 操作 DB。

就这个:

此类用于视图模型类,即 WPF 窗口。

我使用 WindowManager 类从屏幕打开这个窗口。

如果我运行应用程序,我会收到此错误:

我真的对这个错误感到困惑:

1) 无法打开“Db\Spiri_SQL_CE_DB.sdf”。未安装提供程序“System.Data.SqlServerCe.3.5”。

因为:

  • 我使用 Window 7 x64,我已经为 .NET4.0、.NET3.5 安装了 SQL Server CE
  • WPF 使用 .NET4.0 并且是 x86
  • 在 WPF 中,我参考了程序集system.data.sqlserverce.dll

我创建了小型回购项目,但我得到了同样的错误:

您可以在这里找到回购项目:http: //netload.in/dateiy4s4jdPyCj/DbTest.7z.htm

我认为问题代码在这里:

Spiri_SQL_CE_DB 类来自 *.dbml 文件。

我在没有 MEF 的情况下创建视图模型类我得到了同样的错误!

所以我尝试在没有 Calibur.Micro 和 MEF 的 WPF 应用程序中使用 DbManager 类,它运行良好。

我真的不知道什么是坏的,我用谷歌搜索了 2 个小时,但任何建议都不能解决这个错误。

如果有人可以帮助我会很高兴。

0 投票
2 回答
1689 浏览

wpf - MEF 导入问题

我在使用 MEF 的视图模型类中将类导入接口时遇到问题。

我查看模型我创建属性:

我想在视图模型的构造函数中订阅这个事件聚合器:

所以我试试这个:

我运行应用程序但应用程序冻结。

所以我尝试在 OnImportsSatisfied 方法中订阅事件聚合器:

但是这个方法在创建视图模型类时永远不会调用。

唯一有效的解决方案是:

前两种方式有什么不好?

0 投票
1 回答
1503 浏览

c# - Caliburn.Micro:从 IResult 中的异常中恢复

这也发布在Caliburn.Micro 讨论中。我真的在寻找有关最佳解决方法的建议和意见。

说我有以下动作

StationSave 是围绕简单 (WCF) 服务调用的 IResult 包装器。该服务使用 FaultContract/FaultException 处理故障。

在出现故障的情况下,需要通知用户,并且 FaultContract 将包含一些关于出错原因的有用信息。目前,Save 结果捕获异常并将其插入到 Completed 事件的 ResultCompletionEventArgs 中。通过这样做,由管道创建的 SequentialResult 被取消(由于错误),从而使屏幕处于忙碌状态。

我真正想要的是关于从错误中恢复的最佳方法(删除忙碌状态)并通知用户(我有几个 IResult 实现,用于我想使用的不同样式的通知)细节的想法过错合同中规定。通过附加到我的 VM 中的 Completed 事件,我可以得到错误,但此时我不再处于 Action 管道的上下文中,所以我想使用的任何 IResults(MakeNotBusy 和我的显示通知实现)我必须手动执行(我必须新建我自己不想做的 ActionExecutionContext )。

我从这里查看了 Marco Amendola 的 Caliburn.Micro 救援过滤器,但我再次无法从 Rescue 方法传回 IResults。

我错过了什么明显的东西吗?其他人如何处理这种情况?

0 投票
1 回答
1592 浏览

silverlight - caliburn微教程问题

我刚刚开始 CM 的教程,直到这里的最后一个示例。我想更好地了解我可以用 CM 做什么,所以我做了一些我通常会在 wpf 项目中做的事情,为 Views 创建一个文件夹,为 ViewModels 创建一个文件夹。约定仍然应该找到一切,对吧?

所有其他示例都以这种方式工作得很好,但是在对 CM 和如何调试silverlight一无所知之间,我无法解释似乎是数据上下文问题 - 除了显示添加按钮之外什么都没有。

有人能发现问题吗?

干杯,
贝里尔

虚拟机

看法

开机

修复

0 投票
1 回答
6406 浏览

wpf - 使用 Caliburn.Micro 的 WPF 应用程序中的全局处理异常

嗨,我尝试从这个站点实施解决方案,我的 WPF 应用程序用于全局异常处理。

http://www.codeproject.com/Articles/90866/Unhandled-Exception-Handler-For-WPF-Applications.aspx

我使用 Caliburn Micro 作为 MVVM 框架。我在外部程序集中拥有的服务,它被注入到带有 MEF 的视图模型类中。

这是我在 WPF 应用程序中进行全局异常处理的实现。

应用程序.xaml

应用类:

来自外部程序集的服务方法:

此服务方法在视图模型类中调用,例如在按钮单击事件上:

  1. 我在 Visual Studio 中运行 WPF 应用程序,并在 ServiceLogOn 方法中生成带有消息“错误凭据”的异常。

    我希望看到异常的消息框。

    但是 Visual Studio 停止调试应用程序并在服务项目的服务方法中显示异常。

  2. 所以我尝试从 exe 文件运行 WPF 并在 ServiceLogOn 方法中产生相同的异常。

    我收到此错误:

    调用的目标已抛出异常。

视图模型类的任何异常都不会在方法中处理:

  • Application_DispatcherUnhandledException
  • 或 CurrentDomain_UnhandledException。

在 App 类中。

我做什么坏事?

用西蒙福克斯的回答编辑。

我尝试在 Simon Fox 的 MEF 引导程序建议中实施,但我仍然做错了。我将异常的句柄逻辑移动到引导程序类中的 OnUnhandledException 方法。

这是我的引导程序类的代码:

我在按钮上绑定了视图模型中的一些方法并抛出了新的异常。像这样的东西:

但是结果是一样的,我从 Visual Studio 中测试了应用程序并得到了这个异常。

调用的目标已抛出异常。

0 投票
1 回答
6206 浏览

wpf - Caliburn Micro Bindable 集合 - 绑定到组合框项目源显示错误的文本

我有这个愚蠢的问题。我从 BindableCollection 的视图模型类属性类型绑定到 ComboBox 控件的 ItemSource 属性。

视图模型类的代码:

鉴于我有这个:

组合框控件:

如果我选择一些组合框项目,我会看到 Spirit.Models.SpiritUser 而不是项目文本。

如果组合框属性 IsEditable 设置为 true,则会出现问题。

我该如何解决这个问题,我需要从组合框上的视图模型绑定属性,但我还需要组合框可编辑并将用户输入绑定到视图模型中的属性。