MainWindow
その中に(独自のビューモデルを持つ)いくつかのユーザーコントロールをホストするViewModelを持つ1つのウィンドウを持つWPFアプリがありますContentControl
. メイン ウィンドウのビュー モデルで、すべてのユーザー コントロールのビュー モデルを次のように設定します。
// Add Client Billing pages
ActiveContributorsVM = new ActiveContributorsVM();
PageViewModels.Add(ActiveContributorsVM);
したがって、メイン ウィンドウの XAML には次のように表示されます。
<Window.Resources>
<!--Client Billing User Controls and View Models-->
<DataTemplate DataType="{x:Type ClientViewModels:ActiveContributorsVM}">
<ClientViews:ActiveContributors />
</DataTemplate>
</Window.Resources>
コンテンツ コントロールでホストしているユーザー コントロールのActiveContributorsVM
myViewModel
とis my View はどこにありますか。ActiveContributors
これは正常に機能し、すべてが完璧に表示されます。次に、以下のように、ActiveContributors ユーザー コントロールの XamDataGrid の xaml に動作を追加しようとしました。
<igDP:XamDataGrid Name="ActiveDP" Grid.Row="3" Theme="RoyaleStrong" ActiveDataItem="{Binding SelectedItem}" BindToSampleData="False" DataSource="{Binding ActiveContrib}" AutoFit="True" >
<i:Interaction.Behaviors>
<b:XamDataGridSelectedItemsBehavior SelectedItems="{Binding SelectedItems}" />
</i:Interaction.Behaviors>
これにより、動作のクラス、特にSelectedItems
コレクションで null 例外が発生します。ActiveContributorsVM
ビューモデルの別のインスタンスを使用していると思います。作成済みの Vview モデルを参照するにはどうすればよいですか? 取得した例のようにデータコンテキストが設定されている場合、動作クラスが正常に機能することはわかっています: http://www.infragistics.com/community/forums/t/80298.aspx