ParentView.xamlにParentUserControlという名前のユーザーコントロールがあるとします。コードの背後には、ParentViewModelのインスタンスが DataContextとして設定されています。 ParentUserControlにはChildUserControlがあります。 childUserControlの ビューモデルでParentViewModel(別名ParentUserControlのDataContext)にアクセスするにはどうすればいいですか、反対に、parentViewModelでchildviewmodelにアクセスするにはどうすればよいですか。親USerControl ViewModelへのアクセスまたはその逆
ParentView.xaml
<UserControl x:Class="Test.ParentView"
mc:Ignorable="d"
Name="ParentUserControl"
>
<UserControl.Resources>
<ControlTemplate x:Key="ChildControlTemplate">
<control:ChildUSerControl/>
</ControlTemplate>
</UserControl.Resources>
<Grid>
<Border Grid.Row="0" BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,0">
<ContentControl Name="ChildControlTemplate" Width="Auto" ></ContentControl>
</Border>
</Grid>
</UserControl>
ParentView.xaml.cs
public ParentView()
{
ParentViewModel parentViewModel = new ParentViewModel();
this.DataContext = parentViewModel;
ChildUSerControl childUserControl = new ChildUserControl();
InitializeComponent();
ChildControlTemplate.Content = childUserControl;
}
どのようにしてparentviewmodelをchildviewmodelインスタンスに渡すことができましたか?このシナリオでは、parentviewmodelのアクティブインスタンスを取得できますか? – lukai
ChildViewModelはParentViewModel内に作成されているため、ParentViewModelのインスタンスは 'this'として渡されます。これは、その段階で2つのC#タイプ間の親子関係に過ぎないので、好きなようにアプローチすることができます.XAMLはこれまでのところ画像から外れています。 –