0

我是赢得 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+MenuItem
gridview.MainPage+MenuItem

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

谢谢

4

1 回答 1

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;是错误的。

于 2013-08-21T11:39:28.517 回答