DataTemplate中的设计时DataContext?

Mon*_*eur 6 wpf datacontext designer datatemplate visual-studio-2012

当我把DataTemplate一个<Page.Resources>部分,它继承DataContext了的Page设计师内编辑时绑定.但是在运行时,DataTemplate内部的元素正在使用Page它自己的元素DataContext.我希望设计师DataContext在绑定时显示内部.

有没有类似这样的标记d:DataContextDataTemplates?设置DataType不做任何事情.

Mon*_*eur 6

我发现你可以设置d:DataContext在里面的根元素DataTemplate.

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>
Run Code Online (Sandbox Code Playgroud)


小智 6

我意识到这是超级旧的,但为了让它变得更好.DataTemplates通过DataType标记具有"DataContext".

<DataTemplate DataType="{x:Type local:Person}">
    <StackPanel>
        <TextBlock Text="{Binding Name}" />
        <TextBlock Text="{Binding Age}" />
        <TextBlock Text="{Binding Height}" />
    </StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)