0

我正在尝试将 ViewModel 中的 Canvas 对象映射到 View 中的 Canvas 对象。

但是,我在运行时收到“用户代码未处理 CompositionException”错误。在 ViewModel 中注释掉我的 Canvas 对象可以防止错误,所以我猜 Caliburn 正在尝试映射它并引发错误。

4

1 回答 1

0

ViewModel 中的 Canvas 对象到 View 中的 Canvas 对象?

我不认为 Caliburn 会那样做。Caliburn 期​​望您将属性/方法映射到页面上的控件。

所以:视图模型

public MyModel Models
{
    get{return _values;}
    set{ 
         _value=values;
         RaisePropertyChangedImmediately("Models");
       }
}

public MyModel SelectedModel
{
    get{return _value;}
    set{ 
         _value=value;
         RaisePropertyChangedImmediately("SelectedModel");
       }
}

看法:

<ListBox x:Name="Models/>

这段代码所做的是将 SelectedModel 链接到 ListBox 的“SelectedItem”属性,将 Models 属性链接到“ItemsSource”属性,并在 CheckedChange 事件中连接,以便在用户单击时更改 SelectedItem。

Caliburn 中有一个很棒的文档部分,非常值得阅读他的示例:Caliburn Micro Docs

于 2011-09-27T16:53:04.393 回答