无法解析DataType XAML C#

时间:2016-03-31 14:26:55

标签: c# xaml datatemplate xbind

我正在编写一个示例项目,并且遇到问题我的代码如下。

...
xmlns:data="using:OrnekUygulama.Model"
...
<GridView Name="NewsArea"
                      Background="LightGray"
                      ItemsSource="{x:Bind NewsCollection}"
                      HorizontalAlignment="Stretch"
                      Margin="10,0,0,0">
                <GridView.ItemTemplate>
                    <DataTemplate x:DataType="data:NewsCollection">
                        <Grid Background="White" Margin="10" Height="275" Width="200">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <Image Name="NewsImages" Source="{x:Bind Image}" />
                            <RelativePanel Grid.Row="1">
                                <TextBlock Text="{x:Bind Headline}" />
                                <TextBlock Text="{x:Bind Subhead}" />
                                <TextBlock Text="{x:Bind DateLine}" />
                            </RelativePanel>
                        </Grid>
                    </DataTemplate>
                </GridView.ItemTemplate>
            </GridView>

这是我的mainpage.xaml,我有错误x:DataType =“data:NewsCollection”说 无法解析数据类型数据:NewsCollection 但我在这里有:< / p>

public class NewsCollection
{
    public int ID { get; set; }
    public string Category { get; set; }
    public string Headline { get; set; }
    public string Subhead { get; set; }
    public string DateLine { get; set; }
    public string Image { get; set; }
}

这是NewsCollection.cs

我希望有人可以帮我解决这个问题。谢谢。

2 个答案:

答案 0 :(得分:1)

Visual Studio 2015 中的一个错误是解决它只是注释部分代码并运行它。之后取消注释它,它将运行没有任何错误。

1-评论这部分代码:

                <!--<GridView.ItemTemplate>
                    <DataTemplate x:DataType="data:NewsCollection">
                        <Grid Background="White" Margin="10" Height="275" Width="200">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <Image Name="NewsImages" Source="{x:Bind Image}" />
                            <RelativePanel Grid.Row="1">
                                <TextBlock Text="{x:Bind Headline}" />
                                <TextBlock Text="{x:Bind Subhead}" />
                                <TextBlock Text="{x:Bind DateLine}" />
                            </RelativePanel>
                        </Grid>
                    </DataTemplate>
                </GridView.ItemTemplate>-->

2-运行你的应用程序。

3-取消注释这部分代码:

                <GridView.ItemTemplate>
                    <DataTemplate x:DataType="data:NewsCollection">
                        <Grid Background="White" Margin="10" Height="275" Width="200">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <Image Name="NewsImages" Source="{x:Bind Image}" />
                            <RelativePanel Grid.Row="1">
                                <TextBlock Text="{x:Bind Headline}" />
                                <TextBlock Text="{x:Bind Subhead}" />
                                <TextBlock Text="{x:Bind DateLine}" />
                            </RelativePanel>
                        </Grid>
                    </DataTemplate>
                </GridView.ItemTemplate>

4-运行应用程序。

答案 1 :(得分:-1)

假设您的命名空间正确,导入的正确方法是:

xmlns:data="clr-namespace:OrnekUygulama.Model"