从ItemsControl模板的XAML绑定

本文关键字:XAML 绑定 ItemsControl | 更新日期: 2023-09-27 18:05:43

我有一个视图,有一个ViewModel设置为DataContext。那个ViewModel有一个布尔属性,叫它IsInEditMode。我如何从DataTemplate中的UserControl绑定(标记为"Binding IsInEditMode")到外部的ViewModel ?

<ItemsControl ItemTemplate="{StaticResource HomeItemTemplate}">
    <ItemsControl.Resources>
        <DataTemplate x:Key="HomeItemTemplate">
            <utils:PersonTextBox Property="{Binding IsInEditMode}"/>
        </DataTemplate>
    </ItemsControl.Resources>
</ItemsControl>

从ItemsControl模板的XAML绑定

您可以使用RelativeSource绑定到外部ItemsControl,然后绑定到它的数据上下文:

<utils:PersonTextBox Property="{Binding 
    RelativeSource={RelativeSource AncestorType=ItemsControl},
    Path=DataContext.IsInEditMode}"/>