ContentControl with DataTemplateSelector - 需要帮助

Vic*_*tor 6 wpf datatemplate contentcontrol datatemplateselector

我有一个令人讨厌的问题......也许有人可以(请!)帮忙.我正在使用一个模型,它具有类型和枚举属性,应该为枚举中的每个选定类型保存UI模型:让我们将它们定义为:

class ViewModel
   {
     Types selectedType{get;set;}
     UiModelBase editedModel{get;set;}
   }
Run Code Online (Sandbox Code Playgroud)

我希望每次更改selectedType时都有一个使用datatemplateselector来更改视图的内容控件.

    <ListBox x:Name="RuleTypeList" ItemsSource="{Binding Source={StaticResource Types}}" SelectedItem="{Binding Path=selectedType}"/>     
    <!--Content control-->
    <ContentControl ContentTemplateSelector="{StaticResource ruleEditTemplateSelector}" 
             Content="{Binding SelectedItem, ElementName=RuleTypeList}"/>
Run Code Online (Sandbox Code Playgroud)

问题:我创建的DataTemplates由ruleEditTemplateSelector返回,DataContextType(同意)但我需要访问editedModel来创建我的DataTemplate ...我不知道如何处理它

提前致谢!

Vic*_*tor 13

解决方案不是很难....

 DataContext="{Binding RelativeSource={RelativeSource AncestorType=ContentControl},Path=DataContext}"
Run Code Online (Sandbox Code Playgroud)

通过这种方式,模板的上下文与他父母的内容相同,我可以访问他的成员.我想我努力做到这一点,但我没有编码正确...感谢Cstein参与!