使用GridView UWP绑定问题

时间:2016-06-19 16:15:55

标签: c# asp.net windows gridview uwp

我有一个针对某些bug的Binding页面,另一个针对我的应用中的评论。第一个工作正常,但第二个没有显示任何东西,但数据(21条评论)加载成功。 我一直在看现场Live Property Explorer,第一个Grid有这些选项: enter image description here

但是,第二个将ItemsSource设置为null: enter image description here

这不应该是可能的,因为这些项目具有相同的代码,只需要很少的更改就可以使它们加载不同。 这里有代码:

<Page.Resources>
        <DataTemplate x:DataType="data:Book" x:Key="BookDataTemplate">
            <StackPanel HorizontalAlignment="Center">
                <Image Width="150" Height="150" Source="{x:Bind CoverImage}" />
                <StackPanel HorizontalAlignment="center" Orientation="Horizontal">
                    <TextBlock FontSize="10" Text="{x:Bind DScore}" HorizontalAlignment="Center" Foreground="#FF21C721" />
                    <TextBlock FontSize="10" Text="{x:Bind DFav}" HorizontalAlignment="Center" Foreground="#FF9C9C9C" />
                </StackPanel>
                <TextBlock FontSize="16" Text="{x:Bind Title}" HorizontalAlignment="Center" Foreground="White" />
                <TextBlock FontSize="10" Text="{x:Bind Author}" HorizontalAlignment="Center" Foreground="#FF9C9C9C" />
                <ToolTipService.ToolTip>
                    <TextBlock Text="{x:Bind DData}"/>
                </ToolTipService.ToolTip>
            </StackPanel>
        </DataTemplate>
    </Page.Resources>

<GridView ItemsSource="{x:Bind Books}" AllowDrop="True" IsSwipeEnabled="True" IsItemClickEnabled="True" ItemClick="Content_ItemClick" Name="Content" Margin="0,100,0,40" CanReorderItems="True" 
                  CanDragItems="True"
                  ItemTemplate="{StaticResource BookDataTemplate}" ReorderMode="Enabled"/>

评论gridview:

    <Page.Resources>
        <DataTemplate x:DataType="data:Comment" x:Key="CommentDataTemplate">
            <StackPanel HorizontalAlignment="Center">
            <Grid>
                <Rectangle Margin="50, 0, 0, 30" Fill="#FF144772" Height="100" Stroke="Black" Width="500" HorizontalAlignment="Center"/>
                <Rectangle Margin="60, 0, 0, 45" Fill="#FF031131" Height="60" Stroke="Black" Width="60" HorizontalAlignment="Left"/>
                <Rectangle Margin="140, 0, 0, 25" Fill="#FF103F91" Height="60" Stroke="Black" Width="360" HorizontalAlignment="Left"/>
                <Image x:Name="image" HorizontalAlignment="Left" Height="50" Margin="65,18,0,0" VerticalAlignment="Top" Width="50" Source="Assets/profile.png"/>
                <StackPanel HorizontalAlignment="center" Orientation="Horizontal">
                    <TextBlock Margin="0, 70, 400, 0" FontSize="10" Text="{x:Bind Date}" HorizontalAlignment="Center" Foreground="#FF9C9C9C" />
                </StackPanel>
                <TextBlock Margin="130, 0, 0, 0" FontSize="16" Text="{x:Bind Author}" HorizontalAlignment="Left" Foreground="White" />
                <TextBlock Margin="150, 30, 0, 0" FontSize="11" Text="{x:Bind Body}" Width="360" HorizontalAlignment="Left" Foreground="#FF9C9C9C" />
                <ToolTipService.ToolTip>
                    <TextBlock Text="{x:Bind Score}"/>
                </ToolTipService.ToolTip>
            </Grid>
                </StackPanel>
        </DataTemplate>
    </Page.Resources>

<GridView ItemsSource="{x:Bind Comments}" AllowDrop="True" IsSwipeEnabled="True" IsItemClickEnabled="True" Name="Content" Margin="0,100,0,40" CanReorderItems="True" 
                            CanDragItems="True"
                            ItemTemplate="{StaticResource CommentDataTemplate}" ReorderMode="Enabled"/>

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在第2页的XAML文件中,转到ItemsSource中的“Comments”并按F12。如果您可以导航到注释的定义意味着您的绑定成功,但注释不会被填充。如果无法导航到定义意味着绑定不起作用。在这种情况下,检查是否已为该页面设置了datacontext。还要检查XAML和属性中拼写“注释”的方式。