任何在设计时忽略Caliburn消息的方法

时间:2014-02-01 05:56:16

标签: c# wpf caliburn.micro

我们在一个项目中使用Caliburn Micro,该项目具有许多相当复杂(很多UI组件)的WPF窗口。

我们的问题的一个例子是对于这些窗口上的ListBoxes,我们只有ItemSource指向ViewModel中的集合,它们很高兴地返回我们的数据,我们不再需要任何其他绑定。

当我们在Visual Studio(10)中运行项目并打开这些窗口时,主要问题出现了,Caliburn花了几十秒来报告消息,如: -

2014-02-01 05:42:33.6103|INFO|Caliburn.Micro.ViewModelBinder|Binding Convention Not Applied: 
Element listBoxAccount did not match a property.

2014-02-01 05:42:37.7968|INFO|Caliburn.Micro.ViewModelBinder|Binding Convention Not Applied: 
Element InnerBorder_Chcked did not match a property.
2014-02-01 05:42:37.7968|INFO|Caliburn.Micro.ViewModelBinder|Binding Convention Not Applied: 
Element OuterBorder_Center did not match a property.2014-02-01 
05:42:43.1767|INFO|Caliburn.Micro.ViewModelBinder|Binding Convention Not Applied: Element 
SelectionRect did not match a property.

它会传播数百封这些消息。

虽然我们理解(我认为)只是CM迭代试图绑定所有内容的组件,等待窗口打开非常令人沮丧,特别是因为我们不关心这些问题是否存在且不需要绑定问题CM提醒我们。

在Visual Studio中不运行应用程序时,似乎不存在时间延迟(即使只是调试版本),所以我希望这对发布没有任何影响。

因此,我的问题是;我们有什么方法可以禁用或抑制这些错误(或者可能将这些属性标记为不绑定)以使调试更快?

非常感谢。

詹姆斯。

1 个答案:

答案 0 :(得分:0)

虽然我不确定这会解决你的问题,但是plighty太大而无法发表评论:

您是否专门设置了Design-Time支持?我不认为这是“Caliburn.Micro”默认尝试做的事情。

这可以帮助您解决有问题的Windows

<Window 
   ... Other code ...
cal:Bind.AtDesignTime="True">

来源:Design-Time Support