WPF:DataTemplate的相对源

时间:2010-11-20 02:48:39

标签: wpf binding relativesource

如果我有如下的数据模板,

<DataTemplate DataType="{x:Type vm:EditorTabViewModel}">
    <me:MarkdownEditor 
        TextContent="{Binding 
                          Path=Content, 
                          RelativeSource={RelativeSource AncestorType={x:Type vm:EditorTabViewModel}}}" ... />
</DataTemplate>

我想知道为什么相对来源找不到EditorTabViewModel?它只是指数据模板?

更新1

以下作品

<me:MarkdownEditor TextContent="{Binding Path=Content.Content, RelativeSource={RelativeSource Mode=TemplatedParent}}" />

Binding Path=Content.Content
                     ^ Refers to EditorTabViewModel.Content
             ^ refers to EditorTabViewModel

是否有更直观的标记?大声笑,我认为RelativeSource={RelativeSource Mode=TemplatedParent}}"最初已经引用EditorTabViewModel

1 个答案:

答案 0 :(得分:1)

鉴于DataTemplate适用于EditorTabViewModel类型的对象,其DataContext已经是EditorTabViewModel。因此,您根本不需要设置源:

TextContent="{Binding Content}" ... />