의 다음 I가 있다고 가정 해 봅시다 :DataBound ContentControl의 DataTemplate 생성 내용에 어떻게 액세스합니까?
이<FrameworkElement.Resources>
<DataTemplate DataType="{x:Type viewmodel:MainViewModel}">
<view:MainBaseView />
</DataTemplate>
</FrameworkElement.Resources>
<ContentControl x:Name="uxMaster" Grid.Row="0" Content="{Binding}" />
<view:AddRemoveBaseView x:Name="uxButtons" Grid.Row="1"
DataContext="{Binding ElementName=uxMaster, Path=Content.uxGrid}" />
이제 내용의이 MainViewModel의 새로운 인스턴스에 바인딩 가정 해 봅시다. WPF DataTemplates의 마법을 통해 ContentControl이있는 UserControl MainBaseView의 인스턴스를 만들고 DataContext를 Binding으로 설정합니다.
질문 :이 생성 된 콘텐츠 (예 : MainBaseView 인스턴스)에 어떻게 액세스합니까? 생성 된 내용 안에있는 그리드에 uxButtons의 DataContext를 바인딩하려하지만 Content를 검사 할 때 MainBaseView 인스턴스와 논리/시각 트리가 아닌 바인딩 만 포함합니다. 당신은 단순히
var baseView = uxMaster.GetChildOfType<MainBaseView>()
는 "이 XAML을 포함"으로 무엇을 의미합니까 – Patrick
죄송합니다. xaml을 의미하지는 않았습니다 ... uxGrid가 포함 된 요소 트리를 의미했습니다. 다시 말해, MainBaseView 인스턴스가 어디에 있는지 논리적이고 시각적 인 트리를 걸고 원하는 경우 바인딩 할 수 있습니까? – Anthony
xaml이 당신이 제공 한 것과 같다면'{Binding uxGrid}'를 입력 할 수 없었습니까? – Patrick