2010-11-18 11 views
3

私はこのCaliburn.Microサンプルプロジェクトを持っています。入れ子になっているビュー/ビューモデルを持つコンベンションベースのバインディングに問題があります。Caliburn.Microコンベンションベースのバインディングはネストしたビューでは機能しませんか?

例として、シェルのビュー、ShellView、ShellViewModelに裏打ちされた、画面の導体です。

(x:Name規約を使用して)ActiveItemにバインドされたShellViewにコンテンツコントロールがあり、ActiveItemのタイプがEmployeeListViewModelであるため、結果のビューはEmployeeListViewになります。このビューには、EmployeeListViewModelで選択された項目にバインドされているEmployeesDetailsViewModelによってサポートされているEmployeeDetailsViewがネストされています。

これはうまくいきます。ただし、EmployeeDetailsViewでは、Caliburnの規則を使ってテキストボックスやボタンなどのものをバインドできません。これは正常に動作します:

<TextBox Text="{Binding EmployeeID}" /> 

が、これらの線のどちらも動作します:

<TextBox x:Name="EmployeeID" /> 
<Button x:Name="ClickMethod" /> 

結合、テキストボックスのテキストは大したことではなく、自動ボタン方式のフックアップは、カリバーンについてのクールなものの一つです.Microですが、ネストされたビューでは機能しないようです。

アイデア?

答えて

2

私はあなたが手動でそれをやっているEmployeesDetailsViewModel(SelectedItem)をEmployeesDetailsViewにバインドしていると感じています。 CMはその時点で結線していません。あなたはSelectedItemバインディングのxamlといくつかのcsを投稿できますか?試してみました

<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" /> 

そして、SelectedEmployeeをEmployeeListViewModelから切り離しましたか?

+0

これは私がやっていたことです、助けてくれてありがとう! –

関連する問題