问题标签 [caliburn]
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.
caliburn - 在 caliburn 中将视图从一个区域移动到另一个区域
我需要将视图从一个内容控件移动到另一个内容控件,关闭一个控件中的视图没有问题,将视图模型带到另一个 Presentermanager,但是如何将视图也设置在那里?我不希望再次创建视图。
mvvm - 我应该在容器中注册 ViewModel 吗?
我应该在 Container 中注册 ViewModel 并从那里解决吗?
好处:
- 激活视图模型时我可以执行一些操作
- 容器将为我注入依赖项
- ???
缺点:
- ViewModel 生命周期管理可能很棘手:
- 如果我将 ViewModel 设为单例,则无法实例化多个相同类型的控件
- 如果我让 ViewModel 瞬态,那么当我实际上期望注入相同的实例时,我很容易陷入拥有多个不同实例的情况
- ???
正确答案是什么?如果我可以减轻终身缺陷,我更愿意注册。
如果重要的话,我正在使用 Caliburn 和 Autofac。
silverlight - Caliburn.Micro 和 WebServiceResult
我正在为 Caliburn.Micro 寻找此类的正确版本
公共类 WebServiceResult : IResult where T : new()
上面的签名来自完整的 Caliburn 框架中的 ContactManager 示例。它不会直接剪切和粘贴到基于 Micro 的项目中。缺少的类太多,无法直接使用它。想法?或者有人知道替代品吗?
silverlight - 使用 Caliburn.Micro 将 SelectionChanged 绑定到 ViewModel
我们在一个新的 Silverlight 项目中使用了 Caliburn.Micro,一切都很好。内置约定将按钮单击事件绑定到 viewModel,但我不确定在数据网格和组合框上处理 selectionChanged 事件的最佳方法是什么。
目前,我正在绑定到所选项目并调用自定义逻辑,但我觉得这有点代码味道,我应该将属性的设置和 selectedChange 事件分开。但是,如果我将这些分开,如何通过命令将选择更改事件绑定到我的视图模型?还是事件触发器?或者下面的代码可以接受吗?这是一个很小的变化,但我到处都在做这个逻辑。
silverlight - 如何将silverlight datagrid组合框itemSource绑定到viewModel
我们正在使用 Caliburn.Micro/Silverlight 4,生活很好。
我正在尝试将组合框的 itemsSource 绑定到 viewModel,但这似乎不可能,因为组合框已经绑定到它自己的行的 dataItem。填充组合的逻辑会随着屏幕上的其他数据而变化,所以我不能像我一直使用的那样真正使用静态列表。
有没有办法以某种方式将目录绑定到视图模型???我已经尝试过元素到元素的绑定,但这似乎永远不会在网格中工作。
c# - C# 和 Caliburn - RescueAttribute 和协程
我想我发现了 RescueAttribute 被破坏的情况。或者我可能不正确地使用协同程序。
我有一个这样的 ViewModel:
AsyncResult 是这样实现的:
如果我在上面的 ViewModel 中取消注释异常,Rescue 将无法处理异常。
这是 Caliburn 中的错误,还是 AsyncResult 实施错误?
如果您在 yield 之前放置一个异常以返回 AsyncResult,Rescue 就可以正常工作。此外,如果在异步线程上引发异常,救援仍然有效!
编辑:您也可以使用 Show.MessageBox 而不是 AsyncResult 来重现相同的问题。
wpf - Caliburn Application.Resources 不起作用,为什么?如何使它工作?
为什么尝试将一些资源字典添加到我的 CaliburnApplication.Resources 标记时,它不起作用,而在我的 app.xaml 后面的代码中它何时起作用?
wpf - 为什么caliburn不像棱镜那么普遍?为什么只有少数人使用caliburn?
我不明白这一点,它是一个很好的框架,但没有多少人使用它。
如果您知道我不知道的事情,请提供帮助。
c# - Caliburn - ShellFramework - Show.MessageBox
我发现 Show.MessageBox() 存在问题。
在我的应用程序中,我在几个地方调用 Show.Dialog() 以模态显示子窗口。
然后,如果您在新的子窗口中使用 Show.MessageBox(),则消息框将出现在应用程序主窗口上方的中心。你可以放一个断点,消息框的所有者也是主窗口。
为了解决这个问题,我用 IQuestionDialog 做了一个 hack:
这不适用于所有可能的情况,但适用于我的应用程序。
任何更清洁的方法来解决这个问题?
caliburn - Caliburn 问题 - RescueAttribute 不起作用
我在让 Caliburn 1.1.0 中的 RescueAttribute 工作时遇到了一些问题。基本上我打算在每个视图模型中放置一个通用的包罗万象的异常处理程序,但我似乎永远不会调用该方法。
[PerRequest("ConfigurationGroupViewModel")] [Rescue("GeneralRescue")] 公共类 ConfigurationGroupViewModel : Presenter {
......
public void GeneralRescue(Exception ex) { MessageBox.Show(ex.Message); }
}
我完全遵循了 Caliburn 文档中指定的内容,并且我之前看到一篇文章提到了有关 IConventionManager 的内容,但我担心的是,即使将救援方法直接放在 ViewModel 类本身上,救援方法也永远不会被调用。任何人都可以帮助我吗?
谢谢!