我是赢得8应用程序开发的新手。目前我正在尝试构建一个简单的网格视图,但它没有在网格视图中显示项目。
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;
}
然而,显示的项目是这样的:
网格视图。主页面+菜单项
网格视图。主页面+菜单项
XAML中的绑定有什么问题吗?
感谢
您有两个错误。
第一个是在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;
是错误的。