title: UWP ListView with responsive columns
body: <p>I have researched Google, checked out UWP samples but couldn't find a solution to this problem. Basically, I want a listview with auto-resizing grid columns. For example, you have Groove Music Songs View. I want to implement a behavior like that.</p>
  
  <p>Whenever you resize Groove, the listview adjusts itself to the size by expanding, contracting or hiding the columns. I can handle the hiding part using VisualStates and AdaptiveTrigger but can't figure out how to handle the expansion/contraction of the grid.</p>
  
  <p>One other thing to note is that the items are all uniform with same width for each TextBox. They don't appear fuzzy and without a pattern if, by chance, a song's name is longer then usual.</p>
  
  <p>I have this DataTemplate:</p>
  
  <pre><code>       &lt;DataTemplate x:Key="MediafileUnselectedTemplate"&gt;            
              &lt;Grid Height="50"&gt;
                  &lt;Grid.ColumnDefinitions&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                      &lt;ColumnDefinition Width="Auto"/&gt;
                  &lt;/Grid.ColumnDefinitions&gt;
                  &lt;TextBlock x:Name="titleTxt" Grid.Column="0" Width="400"       TextWrapping="NoWrap" TextTrimming="Clip" Text="{Binding Title}" VerticalAlignment="Center"/&gt;
                  &lt;TextBlock x:Name="artistTxt" Grid.Column="1" Width="200" Visibility="Visible" Margin="15,0,0,0" FontSize="13" Text="{Binding LeadArtist}"  VerticalAlignment="Center"/&gt;
                  &lt;TextBlock x:Name="albumTxt" Grid.Column="2" Width="200" Visibility="Visible" Margin="15,0,0,0" FontSize="13" Text="{Binding Album}" VerticalAlignment="Center"/&gt;
                  &lt;TextBlock x:Name="yearTxt" Grid.Column="3" Width="100" Visibility="Visible" Margin="15,0,0,0" FontSize="13" Text="{Binding Year}" VerticalAlignment="Center"/&gt;
                  &lt;TextBlock x:Name="genreTxt" Grid.Column="4" Visibility="Visible" Margin="15,0,0,0" FontSize="13" Text="{Binding Genre}" VerticalAlignment="Center"/&gt;
                  &lt;TextBlock x:Name="durationTxt" Grid.Column="5" Visibility="Visible" Margin="15,0,0,0" FontSize="13" Text="{Binding Length}" VerticalAlignment="Center"/&gt;
              &lt;/Grid&gt;
          &lt;/DataTemplate&gt;
  </code></pre>
  
  <p>What I can manage:
  I can set <code>MinWidths</code> or just <code>Widths</code> to set them all uniform but then they lose their adaptability and just do not resize according to the page.</p>
  
  <p>Any help will be appreciated! Thank you in advance!</p>