问题标签 [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.

0 投票
1 回答
705 浏览

wpf - 附加到 GridViewColumnHeader 模板中的操作

我有一个 GridView 列:

和一个 GridViewColumnHeader 模板

而不是$source.TemplatedParent我想以某种方式将 SortPropertyName 作为参数传递。

有谁知道我怎么能做到这一点?

感谢您的帮助,如果我问的不正确,我很抱歉 - 这是我在这里的第一个问题。

0 投票
1 回答
939 浏览

sample - Caliburn 和棱镜样品

是否有任何使用 caliburn 和 prism 的示例应用程序可用?

我知道有一些博客在讨论它,但我想深入研究一些代码,看看它们是如何组合在一起的。

http://caliburn.codeplex.com

http://compositewpf.codeplex.com/

0 投票
1 回答
3837 浏览

prism - 在 Prism 和 Caliburn 之间进行选择

几个月来,我一直在将 Prism 2.0 用于个人项目。我最近听说过 Caliburn,我想知道是否有令人信服的理由让我考虑这样做。

我喜欢 Prism 的动态模块加载能力。我打算为我的应用程序构建模块,并希望能够以模块化方式部署它们。Caliburn 也可以吗?

Caliburn 与 Prism 相比有哪些优势?

(我读到 Prism 也将在 2010 年 9 月之前发布一个新版本,该版本将利用 .Net 4.0。并保持我的应用程序灵活到那时也可以更新。)

0 投票
1 回答
778 浏览

c# - 有没有办法在 VB.NET 中实现类似 Caliburn 的协同程序,因为没有 yield 关键字

请注意,我知道关于 SOvb.net问题中的其他产量。

我最近在玩Caliburn。那里有很多很棒的东西,包括协同程序的实现。

我所做的大部分工作都是基于 C# 的,但现在我还在为仅 VB.NET 的商店创建架构指南,基于 Rob 的小型 MVVM 框架

除了使用 VB 中的协程外,一切看起来都很好。由于使用了 VB 10,我们可以尝试类似Bill McCarthy 的建议

我只是无法理解如何用 VB 编写更复杂的协程方法,例如下面的方法(取自 Rob 的 GameLibrary):

知道如何实现这一点,或者对在 VB 中使用 Caliburn 协同程序有什么想法吗?


编辑:

Marco为我指明了正确的方向。在查看 Reflector - Rob 的 GameLibrary 的 Visual Basic 代码后,我设法将 Bill McCarthy 的 GenericIterator 修改为穷人的状态机:

我们可以这样使用它:

它绝对没有 C# 版本那么优雅,但它看起来是可行的。我们会看看这是否有任何问题。如果有人有更好的主意,我会全神贯注。

0 投票
2 回答
1241 浏览

mvvm - 使用 Caliburn MVVM 彻底分离 UI

研究 SL 的各种 MVVM 框架。在 Caliburn 文档中,我在控制器中看到了调用 MessageBox 的代码。这是正确的还是只是为了介绍?Caliburn 中是否有类似 Chinch MVVM 中的 MessageBox 服务?

0 投票
1 回答
932 浏览

wpf - 使用 ContentPresenter 进行 WPF 验证

我有一个需要验证某些字段的 WPF 用户控件。它绑定到实现 IDataErrorInfo 的类。

当我在另一个已经打开的窗口中将用户控件设置为我的 ContentPresenter 的内容时,我可以看到正在发生验证并返回错误消息,但是,我没有得到任何验证装饰器 - 例如默认的红色轮廓。

如果我输入该字段并离开它(触发重新验证),则会出现验证装饰器。

此外,如果我在它自己的窗口中显示用户控件,它会立即显示验证装饰器。

(我正在使用 Caliburn IResults 在下面执行此操作,例如,Show.Dialog<VM>();但我怀疑这不相关)

任何人都可以提供任何建议,为什么验证装饰器没有立即出现。(我在我的 ContentPresenter ContentChanged 上猜到了动画,但是,我已将其删除,但仍然遇到问题。

谢谢,克里斯

0 投票
2 回答
882 浏览

mvvm - 使用 Caliburn 将 SL4 TreeView 绑定到 IGrouping

我刚刚开始使用 SL 世界,并尝试使用 Caliburn NavigationShell 作为我的起点。我将解决方案转换为 SL4 并从后备箱使用 Caliburn。

要创建基本导航,我有点不确定(嗯,相当),如何将原始的 StackPanel 按钮显示为可折叠的树视图。

我将 ITaskBarItem 更改为拥有一个简单的 GroupName 属性

然后,我在 ShellViewModel 中将其暴露给视图:

如何进行 xaml 标记以便获得简单的层次结构?

如何在不使用按钮的情况下绑定动作?

请注意,这是 MVVM,所以我不会使用背后的代码或事件来做到这一点......

0 投票
1 回答
6171 浏览

wpf - Validation.HasError 附加属性

我错过了什么?

1-风格

2 - Viewmodel 实现 IDataErrorInfo 3- 视图中的文本框

3 - 我使用 Caliburn MVVM

我收到“ BindingExpression 路径错误:在 'object' ''PersonWindowViewModel' (HashCode=38783181)' 上找不到 'Validation' 属性。BindingExpression:Path=Validation.HasError; DataItem='PersonWindowViewModel' (HashCode=38783181); 目标元素是'TextBox' (Name='FirstName'); 目标属性是 'NoTarget' (type 'Object')"S

0 投票
5 回答
897 浏览

nhibernate - 为每个 ViewModel 创建一个 ISession 实例

这是我的问题:我正在使用以下工具构建桌面应用程序:

  • 卡利本
  • 忍者
  • 休眠

我所有的视图模型和存储库都是用 Ninject 实例化的。我的存储库都需要在其构造函数中使用 ISession。

我想听从ayende关于 ViewModel 的建议:每个 ViewModel 都会打开一个新会话。

是否可以将 Ninject 配置为在创建 ViewModel 时打开一个新会话,并在此视图模型使用的存储库中使用此会话?

我查看了 Ninject 的 InScope 函数,以及 NHibernate 中的 ICurrentSessionContext 接口,但我不知道如何对所有这些进行建模以获得我想要的......

以前有人做过类似的东西吗?

提前致谢

麦克风

0 投票
1 回答
1302 浏览

c# - Caliburn - 子 ViewModel 的 PropertyChanged

我在 WPF 应用程序中使用 Caliburn 和 MVVM 模式,并尝试使用尽可能多的约定。我遇到的一个问题是当我必须在导入的类上连接一些属性更改通知时。

假设我有一个这样的 ViewModel:

当 MyBoolProperty 的 PropertyChanged 事件从 ViewModelB 触发时,调用 NotifyOfPropertyChange(() => CanGo) 的推荐(正确)方法是什么?

过去,我使用 PropertyObserver 类型类来管理它。

还是我设计这个场景完全错误?