1

Caliburn.Micro を使用するアプリケーションがあります。My View には、タブ コントロールなどを含むユーザー コントロールが含まれています。特定のタブを選択するために、外側の ViewModel からそのタブ コントロールにアクセスできるようにしたいと考えています。出来ますか?ありがとう。

4

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