gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:56:44 26 4
gpt4 key购买 nike

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

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

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

作为引用,这里是使用 x: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>

最佳答案

使用 WinRT,将 CLR 命名空间映射到 XAML 的语法是不同的。你应该改变你的映射:

xmlns:src="clr-namespace:Metro_App"


xmlns:src="using:Metro_App"

有关从 Silverlight 迁移到 WinRT 的更多信息,请参阅 series of blog posts by Morten Nielsen ,或者我写的关于 creating a cross platform Silverlight / WinRT application的文章.

但是......如果你看看 API documentation for DataTemplate you will find that there is not DataType property .在 WinRT 中有隐式样式,但没有隐式数据模板。

关于xaml - 如何在 Metro XAML 中定义隐式数据模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7524088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com