如何在Metro XAML中定义隐式数据模板?

如何在Metro XAML中定义隐式数据模板?,xaml,datatemplate,windows-8,windows-runtime,Xaml,Datatemplate,Windows 8,Windows Runtime,我正在尝试创建一个DataTemplate,用于将简单数据类型映射到相应的视图,如下所示: <DataTemplate DataType="{x:Type src:Person}"> <TextBox Text="{Binding Name}"/> </DataTemplate> 我收到一个编译器错误,指示无法识别或访问DataType属性。我是不是遗漏了什么?是否有新的语法用于执行此操作,或者功能是否缺失?隐式模板是否有其他解决方案 以下是使用

我正在尝试创建一个DataTemplate,用于将简单数据类型映射到相应的视图,如下所示:

<DataTemplate DataType="{x:Type src:Person}">
    <TextBox Text="{Binding Name}"/>
</DataTemplate>

我收到一个编译器错误,指示无法识别或访问DataType属性。我是不是遗漏了什么?是否有新的语法用于执行此操作,或者功能是否缺失?隐式模板是否有其他解决方案

以下是使用x:Key属性限定DataTemplate的完整代码(有效):


您定义名称空间了吗? xmlns:src=“clr名称空间:WpfApplicationNamespace”



Silverlight没有
数据模板.DataType
,我怀疑Windows XAML框架继承了这一限制。你可能不得不改用


有趣的是,它确实有
DataTemplateKey
类,但是从XAML实例化它是行不通的。

对于WinRT,将CLR名称空间映射到XAML的语法是不同的。您应该从以下位置更改映射:

xmlns:src="clr-namespace:Metro_App"

有关从Silverlight迁移到WinRT的更多信息,请参阅,或我撰写的文章


然而。。。如果你看看这个。WinRT中有隐式样式,但没有隐式数据模板。

是的。我已经编辑了我的原始帖子,粘贴了完整的MainPage.xaml。@Radik WinRT对namepsace映射使用了不同的语法。现在我们应该知道这两种语法了,这很令人伤心。
DataTemplateKey
,但是,这很有趣。是的,确实如此。也许暗示着隐式模板正在开发中?
<Window x:Class="WpfApplicationNamespace.MainWindow"
    xmlns:src="clr-namespace:WpfApplicationNamespace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">

<Window.Resources>
    <DataTemplate DataType="{x:Type  src:Persone}"/>
</Window.Resources>
<Grid>
    <StackPanel Orientation="Vertical">
        <Button Content="fffff" Click="Button_Click" />
    </StackPanel>
</Grid>
</Window>
xmlns:src="clr-namespace:Metro_App"
xmlns:src="using:Metro_App"