DataTemplate 无法解析 DataType 前缀数据
Posted
技术标签:
【中文标题】DataTemplate 无法解析 DataType 前缀数据【英文标题】:DataTemplate not able to resolve DataType prefix data 【发布时间】:2016-01-13 17:59:43 【问题描述】:我正在尝试使用 Window 的示例代码在 UWP 中实现 ListView。
<ListView.GroupStyle>
<GroupStyle >
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="data:GroupInfoList">
<TextBlock Text="x:Bind Key"
Style="ThemeResource TitleTextBlockStyle"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
线-
DataTemplate x:DataType="data:GroupInfoList"
给我错误,如左图所示,创建模型时我想以不同的方式创建它们。它说
命名空间前缀“data”未定义。
它是我需要包含的命名空间吗?
【问题讨论】:
我个人放弃了编译绑定,只使用了普通绑定。这似乎是一个设计时错误,因为我之前已经编译过了。 【参考方案1】:在您的情况下,data:GroupInfoList
是命名空间映射 data
中的类型 GroupInfoList
。
您必须先定义命名空间映射,然后才能使用它。
在SimpleListViewSample
的Page
元素中,您应该有这样的内容:
<Page
x:Class="HermantsListV2.Sample.SimpleListViewSample"
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"
mc:Ignorable="d"
xmlns:data="HermantsListV2.Model">
...
(注意xmlns:data="HermantsListV2.Model
映射。)
只需将上面示例中的命名空间替换为您项目中的正确命名空间即可。
【讨论】:
有意义,但它没有> 错误严重性代码描述项目文件行错误名称“联系人”在命名空间“HermantsListV2.Model”中不存在。 Hemant's List V2 C:\Users\webonise\Documents\Visual Studio 2015\Projects\Hemant's List V2\Hemant's List V2\Sample\SimpleListViewSample.xaml 17 它在哪里出现。 我清理并重建了解决方案。仍然无法正常工作! 那么请检查以下内容: a) 您要绑定的类是公开的吗? b) 命名空间是否正确(我只是使用了一些示例命名空间,因为我不知道您的确切命名空间名称)?【参考方案2】:这是 Visual Studio 2015 中的一个错误,解决它只需注释该部分代码并运行它。之后取消注释它,它将运行而没有任何错误。
1- 注释这部分代码:
<!--<DataTemplate x:DataType="data:GroupInfoList">
<TextBlock Text="x:Bind Key"
Style="ThemeResource TitleTextBlockStyle"/>
</DataTemplate>-->
2- 运行您的应用程序。
3- 取消注释这部分代码:
<DataTemplate x:DataType="data:GroupInfoList">
<TextBlock Text="x:Bind Key"
Style="ThemeResource TitleTextBlockStyle"/>
</DataTemplate>
4- 运行应用程序。
【讨论】:
【参考方案3】:我刚刚遇到了同样的问题,此页面是从 Universal ListView 示例中复制/粘贴的。
粘贴的页面充满了坏字符,例如换行符等。我通过删除数据模板周围的行和换行符来清理页面,一切都很好。
【讨论】:
【参考方案4】:如果您在 gridview 等中剪切代码,然后保存、构建并粘贴回来,我有时会设法让这个工作正常进行。不知道为什么,但它有时会修复它,也许 VS 在那里隐藏了一些东西。
【讨论】:
以上是关于DataTemplate 无法解析 DataType 前缀数据的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 DataTemplate WPF 将 InputBinding 应用于整个 ListBoxItem
如何将 ObservableCollection 绑定到 DataTemplate 中的文本框?
将情节提要的目标设置为 DataTemplate WPF 中的按钮