Caliburn.Micro規則ベースのバインディングは、ネストされたビューで作業しませんか?
-
25-09-2019 - |
質問
私は一緒に入れていると私はネストされたビュー/のviewmodelsと規則ベースのバインディングとのトラブルを抱えています。このCaliburn.Microサンプルプロジェクトを持っています。
例として、私は、画面の導体であるShellViewModelに裏打ちされたシェルビュー、ShellViewを、持っているとしましょう。
、及びActiveItemタイプEmployeeListViewModelであるので、得られたビューがEmployeeListViewある:IはShellViewにおけるコンテンツ制御ActiveItem(命名規則Xを使用して)に結合しました。このビューにネストEmployeeDetailsViewはEmployeeListViewModelで選択した項目にバインドされEmployeesDetailsViewModelによって支えられています。
EmployeeDetailsView Iでのことを除いて、この作品の罰金は、テキストボックスやボタンなどのバインド事がカリバーン規則を使用してすることはできません。この作品の罰金ます:
<TextBox Text="{Binding EmployeeID}" />
が、どちらもこれらのラインの仕事ます:
<TextBox x:Name="EmployeeID" />
<Button x:Name="ClickMethod" />
バインディングのテキストボックスのテキストは大したことではなく、自動ボタン方式のフックアップはCaliburn.Microについてのクールなものの一つですが、それは、ネストされたビューで動作するようには思えません。
任意のアイデア?
解決
私は、あなたが手動でそれをやっていることをEmployeesDetailsViewにEmployeesDetailsViewModel(のSelectedItem)を結合していることを感じています。 CMは、その時点で物事を配線されていません。あなたは、XAMLと結合のSelectedItemのためのいくつかのCSを投稿することができますか?あなたがしようとしました。
<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" />
そしてEmployeeListViewModel?
オフSelectedEmployeeをハング