【问题标题】:Any way to ignore Caliburn Messages at design-time在设计时忽略 Caliburn 消息的任何方式
【发布时间】:2014-02-01 05:56:15
【问题描述】:

我们在一个项目中使用 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 中运行应用程序(甚至只是调试版本)时似乎不存在时间延迟,所以我希望这不会对发布产生任何影响。

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

非常感谢。

詹姆斯。

【问题讨论】:

    标签: c# wpf caliburn.micro


    【解决方案1】:

    评论有点太大了,虽然我不确定这会解决你的问题:

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

    这可能会帮助您解决问题Windows

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

    来源:Design-Time Support

    【讨论】:

    • 嗨 - 抱歉耽搁了。我认为这不会有帮助,因为它实际上是在编译和启动过程中发生的,而不是在窗口的实际设计过程中。
    • 啊,标题有点误导。我将再次破解并复制问题。
    • 对不起,克里斯也许是这样。它应该在编译时说。
    • 不用担心 - 还没来得及再看一遍 =D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多