小编rob*_*zhu的帖子

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

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

<DataTemplate DataType="{x:Type src:Person}">
    <TextBox Text="{Binding Name}"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

我收到一个编译器错误,指示无法识别或访问DataType属性.我在这里错过了什么吗?是否有新的语法来执行此操作或缺少功能?是否存在隐式模板的替代解决方案?

作为参考,这里是使用ax:Key属性(可以工作)使用DataTemplate限定的完整代码:

<UserControl x:Class="Metro_App.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:src="clr-namespace:Metro_App"
    mc:Ignorable="d"
    d:DesignHeight="768" d:DesignWidth="1366">

    <UserControl.Resources>        
        <DataTemplate x:Key="PersonTemplate">
            <TextBlock Text="{Binding Name}" Foreground="White" FontSize="72"/>
        </DataTemplate>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="#FF0C0C0C">
        <ContentControl Content="{Binding MyPerson}" ContentTemplate="{StaticResource PersonTemplate}"/>
    </Grid>

</UserControl>
Run Code Online (Sandbox Code Playgroud)

xaml datatemplate windows-8 windows-runtime

5
推荐指数
1
解决办法
4643
查看次数

标签 统计

datatemplate ×1

windows-8 ×1

windows-runtime ×1

xaml ×1