水平方向にスクロールできるページを持つ FlipView があります。各ページには、ItemsControl を持つ ScrollViewer (垂直スクロール) が保持されます。itemsControl は、行である itemTemplate を保持します (各ページはデータ行を保持します)。
I want to change the template of a row at some button click
. 現在、行のタイプは 1 つですが、別の 2 つのタイプを実装したいのですが、方法がわかりません... 基本的に、現在の行のタイプは DataTemplate を介して定義されており、別の 2 つの DataTemplates を定義し、dataTemplate を ItemsControl にバインドしたいと考えています。アイテムテンプレート
<ItemsControl x:Name="RowItemsControl" ItemsSource="{Binding OptionItems, Mode=OneWay}" Visibility="{Binding OptionsPageVisibility}">
<ItemsControl.ItemTemplate>
<DataTemplate x:Name="RowType1">
<Grid x:Name="OptionItemGrid" Background="White" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- here is the content of the rowType1 -->
</Grid>
</DataTemplate>
<!--<DataTemplate x:Name="RowType2"> --- I want just 1 of these 3 data to be my item template
</DataTemplate x:Name="RowType2">
<DataTemplate x:Name="RowType3">
</DataTemplate x:Name="RowType3"> -->
</ItemsControl.ItemTemplate>
</ItemsControl>