Ive got simple ListView
that represents a grid and i want to switch number of columns depending on Window Width
.
Here is the code for ListView
:
<Page.Resources>
<ResourceDictionary Source="ms-appx:///Resources/Dictionary.xaml"/>
</Page.Resources>
<ListView x:Name="lvCurrencyList" />
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="lvCurrencyList.HeaderTemplate" Value="{StaticResource CurrencyListHeaderTemplate}" />
</VisualState.Setters>
</VisualState>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="lvCurrencyList.HeaderTemplate" Value="{StaticResource CompactCurrencyListHeaderTemplate}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
And here is the code for HeaderTemplate
in Dictionary.xaml
:
<DataTemplate x:Name="CurrencyListHeaderTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="auto" MinWidth="100" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="auto" MinWidth="100" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="auto" MinWidth="100" />
</Grid.ColumnDefinitions>
<!--Here goes the content-->
</Grid>
</DataTemplate>
<DataTemplate x:Name="CompactCurrencyListHeaderTemplate">
<Grid Background="#e6e6e6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="auto" MinWidth="100" />
</Grid.ColumnDefinitions>
<!--Here goes the content-->
</Grid>
</DataTemplate>
But that code doesent work for me