Próbuję utworzyć DataTemplate do mapowania prosty typ danych z odpowiednim widokiem następująco:Jak zdefiniować niejawne szablony danych w Metro XAML?
<DataTemplate DataType="{x:Type src:Person}">
<TextBox Text="{Binding Name}"/>
</DataTemplate>
otrzymuję błąd kompilatora informacją, że właściwość Typ danych nie jest rozpoznawany lub dostępne. Czy coś mi umyka? Czy istnieje nowa składnia tego działania lub czy brakuje tej funkcji? Czy istnieją alternatywne rozwiązania dla ukrytych szablonów?
Dla porównania, tutaj jest pełny kod z DataTemplate zakwalifikowane używając x: Key atrybut (które działa):
<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>
Istnieje jednak "DataTemplateKey", który jest intrygujący. –
Tak, jest. Być może wskazówka, że domyślne szablony są już w drodze? – ColinE