我是新手,赢得了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中的绑定有什么问题吗?
由于
答案 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;
是错误的。