은 ContentPresenter
을 포함하는 DataTemplate
으로 정의되는 TabControl
입니다. 매핑 UIElement
클래스는 특정 ViewModel 유형에 대해 DataTemplate
으로 정의됩니다. 그것은 다음과 같이 작동합니다 :TabControl에서 ContentTemplate의 인스턴스화 된 UIElement 가져 오기
<UserControl.Resources>
<DataTemplate DataType="{x:Type ViewModels:DiagramVM}">
<Controls:Diagram DataContext="{Binding}" x:Name="diagram"/>
</DataTemplate>
</UserControl.Resources>
<TabControl ItemsSource="{Binding Path=Tabs, Mode=TwoWay}" SelectedIndex="{Binding Path=SelectedTabIndex}"
x:Name="AnalysisTabCtrl" Template="{DynamicResource ScrollableTabControlTemplate}">
<TabControl.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=Header}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding Path=ViewModel}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
제 문제는 인스턴스화 된 UIElements의 인스턴스가 필요하다는 것입니다. 이 경우 다이어그램 인스턴스입니다. 어떻게 얻을 수 있습니까?