diff --git a/SukiUI/Controls/SukiStackPage.axaml b/SukiUI/Controls/SukiStackPage.axaml index 65de5af2c..194f290c8 100644 --- a/SukiUI/Controls/SukiStackPage.axaml +++ b/SukiUI/Controls/SukiStackPage.axaml @@ -15,7 +15,11 @@ Margin="0,-20,0,0" Background="{DynamicResource SukiControlBorderBrush}" /> - + + + + + diff --git a/SukiUI/Controls/SukiStackPage.axaml.cs b/SukiUI/Controls/SukiStackPage.axaml.cs index 00541d4c1..61154c543 100644 --- a/SukiUI/Controls/SukiStackPage.axaml.cs +++ b/SukiUI/Controls/SukiStackPage.axaml.cs @@ -29,6 +29,16 @@ public int Limit get => GetValue(LimitProperty); set => SetValue(LimitProperty, value); } + + public static readonly StyledProperty AlwaysGoBackToFirstPageProperty = + AvaloniaProperty.Register(nameof(AlwaysGoBackToFirstPage), defaultValue: false); + + public bool AlwaysGoBackToFirstPage + { + get => GetValue(AlwaysGoBackToFirstPageProperty); + set => SetValue(AlwaysGoBackToFirstPageProperty, value); + } + private static readonly DynamicResourceExtension ColorResource = new("SukiLowText"); @@ -180,7 +190,13 @@ private void AddLowHeader(StackPageModel model) _disposables.Push(button.Bind(ForegroundProperty, ColorResource)); button.PointerReleased += (_, _) => - Content = model.Content; + { + if(AlwaysGoBackToFirstPage) + Content = _stackPages[0].Content; + else + Content = model.Content; + }; + button.PointerEntered += (_, _) => button.RenderTransform = new ScaleTransform() { ScaleX = 1.02, ScaleY = 1.02 };