Win8商店应用程序 - GridView不显示

时间:2013-08-21 10:42:24

标签: gridview binding windows-8 windows-applications

我是新手,赢得了8个应用开发。目前我正在尝试构建一个简单的gridview,但它不会在gridview中显示该项目。

XAML

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <GridView x:Name="gridv" ItemsSource="{Binding}" Margin="488,149,0,0" 
        VerticalAlignment="Top" Width="704" Height="310">        
            <DataTemplate>
                    <TextBlock Text="{Binding Path=Name}"/>
            </DataTemplate>
    </GridView>
</Grid>

代码

    public class MenuItem {
        public string Name;
        public MenuItem() {}       
    }


    public MainPage()
    {
        this.InitializeComponent();
        load();
    }

    void load() {
        List<MenuItem> Temp = new List<MenuItem>() 
             { new MenuItem() { Name = "test"},              
                   new MenuItem() { Name = "test 2" } };
        gridv.DataContext = Temp;                
    }  

然而,显示的项目是这样的:
gridview.MainPage +菜单项
gridview.MainPage +菜单项

XAML中的绑定有什么问题吗?

由于

1 个答案:

答案 0 :(得分:0)

您有两个错误。

第一个是在XAML中声明DataTemplate。您忘记添加<GridView.ItemTemplate>....</GridView.ItemTemplate>请参阅正确的代码。

<GridView x:Name="gridv" ItemsSource="{Binding}" Margin="488,149,0,0" 
VerticalAlignment="Top" Width="704" Height="310">
    <GridView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Name}"/>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

第二个错误发生在MenuItem课程中。您必须将值声明为属性而不是变量。正确是public string Name { get; set; }public string Name;是错误的。