Si j'ai un modèle de données comme suit,WPF: Source relative à DataTemplate
<DataTemplate DataType="{x:Type vm:EditorTabViewModel}">
<me:MarkdownEditor
TextContent="{Binding
Path=Content,
RelativeSource={RelativeSource AncestorType={x:Type vm:EditorTabViewModel}}}" ... />
</DataTemplate>
Je me demande pourquoi la source relative ne peut pas trouver le EditorTabViewModel
? Il se réfère simplement au modèle de données?
MISE À JOUR 1
Les travaux ci-dessous tho
<me:MarkdownEditor TextContent="{Binding Path=Content.Content, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
Binding Path=Content.Content
^Refers to EditorTabViewModel.Content
^refers to EditorTabViewModel
Y at-il une marge plus ituitive? lol, je pensais que RelativeSource={RelativeSource Mode=TemplatedParent}}"
fait déjà référence à EditorTabViewModel
au premier
Hmm, mais si mon 'MarkdownEditor' est un UserControl qui a' DataContext = this' je dois le faire, ou bien il va essayer de se lier à une propriété de MarkdownEditor droit? –
A l'intérieur de tout DataTemplate, le DataContext est toujours l'objet de données auquel le modèle est appliqué. Lorsque vous avez un DataType explicitement spécifié comme dans votre exemple DataContext sera une instance de ce type. –