I am making a table in UWP (I am very new to UWP so go easy on me! Maybe even suggest a way that it is ten times better to implement this) that dynamically loads the data. This is the XAML code for it:
<ListView x:Name="ShiftListView" Grid.Column="0">
<ListView.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" x:Name="HeaderColumn"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Location" Grid.Column="0"/>
<TextBlock Text="Role" Grid.Column="1"/>
<TextBlock Text="Date" Grid.Column="2"/>
<TextBlock Text="Start" Grid.Column="3"/>
<TextBlock Text="Finish" Grid.Column="4"/>
</Grid>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Location}" Grid.Column="0"></TextBlock>
<TextBlock Text="{Binding Role}" Grid.Column="1"></TextBlock>
<TextBlock Text="{Binding Date}" Grid.Column="2"></TextBlock>
<TextBlock Text="{Binding Start}" Grid.Column="3"></TextBlock>
<TextBlock Text="{Binding Finish}" Grid.Column="4"></TextBlock>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
The column definitions are done in the exact same way for both grids however the first one is the only one that stretches out to fill the entire available space but the other works as if I have inputted auto and only scaling to the size of the content. I have tried to bind the widths of the second set of columns to the first set but it doesn't change anything.
<ColumnDefinition Width="{Binding ElementName=HeaderColoumn, Path=ActualWidth"/>
But alas this did not work.
Appending ItemContainerStyle to the ListView, specify HorizontalContentAlignment=Stretch.
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ListView.ItemContainerStyle>