[英]How to add Column Header in gridview - UWP
我想以表格格式显示动态数据。 每个列都应具有列标题。 如何为此添加Gridview列标题? 并且还需要将行放置为列行分隔符。 似乎Gridview控件在asp.net网站表单中更灵活。
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Header"/>
<TextBlock Grid.Column="1" Text="Header"/>
<TextBlock Grid.Column="2" Text="Header"/>
<TextBlock Grid.Column="3" Text="Header"/>
</Grid>
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="1" Text="{Binding ID}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="2" Text="{Binding RollNo}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="3" Text="{Binding Division}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
</Grid>
</ScrollViewer>
</StackPanel>
我会这样处理:
1)创建垂直的StackPanel。
2)为标题创建一个网格布局
3)创建一个滚动视图
4)为数据创建一个网格布局(嵌套在滚动视图中)
在suppo xml中:
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Header"/>
<TextBlock Grid.Column="1" Text="Header"/>
<TextBlock Grid.Column="2" Text="Header"/>
<TextBlock Grid.Column="3" Text="Header"/>
</Grid>
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Data"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="Data"/>
<TextBlock Grid.Row="0" Grid.Column="2" Text="Data"/>
<TextBlock Grid.Row="0" Grid.Column="3" Text="Data"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Data"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="Data"/>
<TextBlock Grid.Row="1" Grid.Column="2" Text="Data"/>
<TextBlock Grid.Row="1" Grid.Column="3" Text="Data"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Data"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="Data"/>
<TextBlock Grid.Row="2" Grid.Column="2" Text="Data"/>
<TextBlock Grid.Row="2" Grid.Column="3" Text="Data"/>
</Grid>
</ScrollViewer>
</StackPanel>
更新的代码
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Header"/>
<TextBlock Grid.Column="1" Text="Header"/>
<TextBlock Grid.Column="2" Text="Header"/>
<TextBlock Grid.Column="3" Text="Header"/>
</Grid>
<ScrollViewer>
<GridView ItemsSource="{Binding}" >
<GridView.ItemTemplate>
<DataTemplate x:DataType = "local:student" > <!--local:student is your class model to bind -->
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding ID }" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="1" Text="{Binding Name}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="2" Text="{Binding RollNumber}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
<TextBlock Grid.Column="3" Text="{Binding Division}" Foreground="Blue" FontSize="20" FontWeight="ExtraBold"/>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
</StackPanel>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.