Caliburn.Micro を使用するアプリケーションがあります。My View には、タブ コントロールなどを含むユーザー コントロールが含まれています。特定のタブを選択するために、外側の ViewModel からそのタブ コントロールにアクセスできるようにしたいと考えています。出来ますか?ありがとう。
質問する
213 次
2 に答える
2
MVVM の標準的な方法は、TabControls のSelectedItemプロパティを viewModel のプロパティにバインドすることです。
<TabControl ItemsSource="{Binding PropertyToYourViews}"
SelectedItem="{Binding PropertyToYourSelectedView}">
</TabControl>
このようにすると、ViewModel は TabControl の存在を知る必要がなくなります。
次のステップは、実装によって異なります。外側の ViewModel は単に子の viewModels SelectedViewプロパティへの参照を保持し、直接アクセスすることができますが、ViewModel を分離したままにしたい場合は、何らかの通知システムを実装する必要があります。Caliburn.Micro の詳細はわかりませんが、ほとんどの MVVM フレームワークは、これに対する何らかのソリューションを提供しています。
于 2012-05-25T20:12:59.597 に答える
2
実装は設定方法によって異なりますが、ビュー モデルの変数を TabControl の SelectedItem にバインドできます。
于 2012-05-25T20:13:13.953 に答える