如何在Metro XAML中定义隐式数据模板?
我正在尝试创建一个DataTemplate,用于将简单数据类型映射到相应的视图,如下所示:如何在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 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"