という感じのフォーラムの質問があった(解決されてたけど)のでGitHubにサンプルあげてみました。 Prism使ってます。
UserControlへのViewModelの伝搬させてる所がポイントっちゃぁポイントかも。 こんな感じでプロパティをUserControlに用意しておいて
public MainPageViewModel ViewModel { get { return (MainPageViewModel)GetValue(ViewModelProperty); } set { SetValue(ViewModelProperty, value); } } // Using a DependencyProperty as the backing store for ViewModel. This enables animation, styling, binding, etc...publicstaticreadonly DependencyProperty ViewModelProperty = DependencyProperty.Register("ViewModel", typeof(MainPageViewModel), typeof(SampleUserControl), new PropertyMetadata(null));
MainPageで自分のViewModelを渡す。
<local:SampleUserControl ViewModel="{x:Bind ViewModel, Mode=OneWay}" />