DataTemplate无法解析DataType前缀数据

时间:2015-10-15 10:14:45

标签: c# xaml windows-phone-8 datatemplate uwp

Left Image is the error and the right one is a Microsoft example

我正在尝试使用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”。

是否需要包含命名空间?

4 个答案:

答案 0 :(得分:4)

在您的情况下,data:GroupInfoList是命名空间映射GroupInfoList中的data类型。
您必须先定义命名空间映射,然后才能使用它。

Page的{​​{1}}元素中,你应该有这样的内容:

SimpleListViewSample

(注意<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"> ... 映射。)

只需将上面示例中的命名空间替换为项目中的名称空间,它就可以正常工作。

答案 1 :(得分: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-运行应用程序。

答案 2 :(得分:1)

我刚遇到同样的问题,此页面是从Universal ListView示例中复制/粘贴的。

粘贴的页面中充满了不良字符,例如换行符等。我通过删除数据模板周围的线条和换行来清理页面,一切都很好。

答案 3 :(得分:1)

如果您在gridview中删除代码然后保存,构建并粘贴它,我有时会设法让它工作。不知道为什么,但它有时会修复它,也许VS会隐藏那些东西。