7

当我将 aDataTemplate放入一个<Page.Resources>部分时,它会继承设计器DataContextPage编辑绑定时的 。然而,在运行时,DataTemplate内部的一个元素正在使用Page它,它有自己的DataContext. 我希望设计师DataContext在装订时展示内部。

有没有类似d:DataContextfor的标签DataTemplates?设置DataType没有任何作用。

4

2 回答 2

11

我发现你可以d:DataContextDataTemplate.

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

<ListBox ItemsSource="{Binding People}">
<ListBox.ItemTemplate>
    <DataTemplate>
        <StackPanel d:DataContext="{d:DesignInstance Type=local:Person}">
            <TextBlock Text="{Binding Name}" />
            <TextBlock Text="{Binding Age}" />
            <TextBlock Text="{Binding Height}" />
        </StackPanel>
    </DataTemplate>
</ListBox.ItemTemplate>

于 2013-06-25T06:51:34.397 回答
9

我意识到这是超级旧的,但为了让 SO 变得更好。DataTemplates 通过 DataType 标签有一个“DataContext”。

<DataTemplate DataType="{x:Type local:Person}">
    <StackPanel>
        <TextBlock Text="{Binding Name}" />
        <TextBlock Text="{Binding Age}" />
        <TextBlock Text="{Binding Height}" />
    </StackPanel>
</DataTemplate>
于 2018-01-19T21:41:52.990 回答