0

ViewModel の Canvas オブジェクトを View の Canvas オブジェクトにマップしようとしています。

ただし、実行すると「CompositionException was unhandled by user code」というエラーが表示されます。ViewModel で Canvas オブジェクトをコメントアウトするとエラーが防止されるため、Caliburn がマップしようとしてエラーが発生していると推測されます。

4

1 に答える 1

0

ViewModel の Canvas オブジェクトを View の Canvas オブジェクトに?

カリバーンがそうするとは思えない。Caliburn は、プロパティ/メソッドをページ上のコントロールにマップすることを期待しています。

So:ViewModel

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 に答える