This commit is contained in:
Lightczx
2023-11-09 11:38:30 +08:00
parent 1c0ce62885
commit d529b3cea6
2 changed files with 34 additions and 32 deletions

View File

@@ -128,8 +128,13 @@ internal sealed partial class UniformStaggeredLayout : VirtualizingLayout
UniformStaggeredItem item = state.GetItemAt(i);
if (item.Height == 0)
{
// https://github.com/DGP-Studio/Snap.Hutao/issues/1079
// The first element must be force refreshed otherwise
// it will use the old one realized
ElementRealizationOptions options = i == 0 ? ElementRealizationOptions.ForceCreate : ElementRealizationOptions.None;
// Item has not been measured yet. Get the element and store the values
UIElement element = context.GetOrCreateElementAt(i);
UIElement element = context.GetOrCreateElementAt(i, options);
element.Measure(new Size(state.ColumnWidth, availableHeight));
item.Height = element.DesiredSize.Height;
item.Element = element;

View File

@@ -272,39 +272,36 @@
<Grid>
<Pivot Visibility="{Binding CultivateEntries.Count, Converter={StaticResource Int32ToVisibilityConverter}}">
<PivotItem Header="{shcm:ResourceString Name=ViewPageCultivationCultivateEntry}">
<ItemsView
Padding="16,0"
IsItemInvokedEnabled="False"
ItemTemplate="{StaticResource CultivateEntryTemplate}"
ItemsSource="{Binding CultivateEntries}"
SelectionMode="None">
<ItemsView.ItemTransitionProvider>
<shcl:DefaultItemCollectionTransitionProvider/>
</ItemsView.ItemTransitionProvider>
<ItemsView.Layout>
<shcl:UniformStaggeredLayout
MinColumnSpacing="12"
MinItemWidth="300"
MinRowSpacing="-4"/>
</ItemsView.Layout>
</ItemsView>
<ScrollView Padding="16,0">
<ItemsRepeater
Margin="0,16,0,0"
ItemTemplate="{StaticResource CultivateEntryTemplate}"
ItemsSource="{Binding CultivateEntries}">
<ItemsRepeater.Layout>
<shcl:UniformStaggeredLayout
MinColumnSpacing="12"
MinItemWidth="300"
MinRowSpacing="-4"/>
</ItemsRepeater.Layout>
</ItemsRepeater>
</ScrollView>
</PivotItem>
<PivotItem Header="{shcm:ResourceString Name=ViewPageCultivationMaterialStatistics}">
<ItemsView
Padding="16,0"
IsItemInvokedEnabled="False"
ItemTemplate="{StaticResource StatisticsItemTemplate}"
ItemsSource="{Binding StatisticsItems}"
SelectionMode="None">
<ItemsView.Layout>
<UniformGridLayout
ItemsJustification="Start"
ItemsStretch="Fill"
MinColumnSpacing="12"
MinItemWidth="300"
MinRowSpacing="-4"/>
</ItemsView.Layout>
</ItemsView>
<ScrollView Padding="16,0">
<ItemsRepeater
Margin="0,16,0,0"
ItemTemplate="{StaticResource StatisticsItemTemplate}"
ItemsSource="{Binding StatisticsItems}">
<ItemsRepeater.Layout>
<UniformGridLayout
ItemsJustification="Start"
ItemsStretch="Fill"
MinColumnSpacing="12"
MinItemWidth="300"
MinRowSpacing="-4"/>
</ItemsRepeater.Layout>
</ItemsRepeater>
</ScrollView>
</PivotItem>
</Pivot>
<StackPanel