Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between GridView and Grid

Tags:

wpf

xaml

Can anyone tell me the difference between GridView and a Grid in WPF XAML?

enter image description here

like image 229
FoldFence Avatar asked Jan 11 '16 05:01

FoldFence


People also ask

What is the difference between GridView and grid layout?

Let us not get confused with GridView and GridLayout to be the same. GridView simply gives us a two-dimensional view to display the items on the screen, under ViewGroup. On the other hand, GridLayout is a layout manager that arranges the views in a grid.

What is difference between GridView and Datagridview?

The DataGrid and the GridView controls have different event models. The DataGrid control raises single events for operations, while the GridView control is capable of both pre-operation and post-operation events. The GridView control supports the Sorting event that occurs when a field is sorted.

What is difference between GridView and RecyclerView?

Difference Between RecyclerView and GridViewIn GridView it was not mandatory to use View holder implementation but in RecyclerView it is mandatory to use View Holder implementation for Recycler View. It makes the code complex but many difficulties that are faced in GridView are solved in RecyclerView.

What is difference between ListView and GridView?

The main difference between ListView and GridView is how it lays out its child. With ListView you are laying your children one by one either vertically or horizontally only. With GridView, its a combination of both. It lays its children horizontally first.


2 Answers

Here are the details for UWP. Should be similar for WPF I think.

Grid - used for defining layouts and formatting or static information. It is one of the several "layout panels" that are available (others include: RelativePanel, StackPanel, VariableSizedWrapGrid, and Canvas). Grid does not have an ItemSource member to dynamically display items by binding. Grid does have Grid.Row and Grid.Column attached properties (i.e. that can be used on other controls) to position them within the Grid.

Sample Code:

<Grid x:Name="LayoutPanel1" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" 
      Margin="20"
      BorderBrush="{StaticResource Page_Brush}"
      BorderThickness="1 1 1 1">

    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition Height="44"/>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

</Grid>

More Information: Grid Class, Layout Panels


GridView - used for displaying a set or collection of data (i.e. dynamic number of items). Another control available to display a set or collection of data is a ListView. One way to use this is by setting ItemSource (i.e. binding). By default, a data item is displayed in the GridView as the string representation of the data object it's bound to. To specify exactly how items in the GridView are displayed, you create a DataTemplate to define the layout of controls used to display an individual item. The controls in the layout can be bound to properties of a data object, or have content defined inline. You assign the DataTemplate to the ItemTemplate property of the GridView. The DataTemplate can contain a Grid (or any of the other layout panels mentioned above) to specify the layout of controls of an individual item.

Sample Code:

<GridView ItemsSource="{x:Bind MyItems}"
          IsItemClickEnabled="True"
          ItemClick="GridView_ItemClick"
          ItemTemplate="{StaticResource MyItemTemplate}"
          BorderBrush="{StaticResource MyItemBrush}" 
          BorderThickness="1 1 1 1"
          HorizontalAlignment="Stretch"
/>

More Information: GridView Class, List view and Grid view, Guidelines for list view and grid view

like image 78
slayernoah Avatar answered Oct 13 '22 10:10

slayernoah


A simple explanation would be
Grid
If you have just a single item with no repetitive subitem design then a grid is used. If the number of subitems are fixed
GridView
If you have a repetitive design like collection and you dont know the number of items that can be present then a gridview is used instead.
You can find more details on msdn forums.

like image 28
Jerin Avatar answered Oct 13 '22 10:10

Jerin