我正在创建一个针对Windows周年纪念版的新UWP空白应用项目。这是我唯一页面的标记(默认模板名为MainPage.xaml):
<Page
x:Class="App1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.Resources>
<DataTemplate x:Key="MyDataTemplate" x:DataType="local:BindyThing">
</DataTemplate>
</Grid.Resources>
</Grid>
BindyThing类在CS文件中声明如下:
namespace App1
{
public class BindyThing
{
}
}
从上面的标记中可以看出,我正在尝试创建一个DataTemplate来渲染BindyThing。但是,当我编译时,我收到以下错误:
The XAML Binary Format (XBF) generator reported syntax error '0x09C4' : Property Not Found
当我注释掉DataTemplate的声明时,此错误消失。有没有人知道为什么我得到这个?所有帮助赞赏。谢谢!
答案 0 :(得分:9)
看起来你的xaml中没有空白的DataTemplate元素。我能够让你的例子与下面的一起工作:
<DataTemplate x:Key="MyDataTemplate" x:DataType="local:BindyThing">
<TextBlock></TextBlock>
</DataTemplate>
答案 1 :(得分:2)
(我对Sergei的答案的评论对于一些人来说非常方便,所以我将其推广到一个答案,使其更加明显)
我遇到了同样的问题,我的DataTemplate
并非空白。它虽然在App.xaml中定义。只需将其移动到被引用的位置并删除x:Key
属性即可使其正常工作。
答案 2 :(得分:0)
除了数据模板不是空白之外,我遇到了同样的问题。我发现您不能将数据模板保留为空白,并且如果您尝试在app.xaml中合并的资源字典中使用x:Type,那么它也不起作用。 该链接说明了如何x:bind绑定到资源词典中:Resource dictionaries with {x:Bind}