mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-23 01:38:40 +08:00
Refactor ProgressBar
This commit is contained in:
@@ -2,12 +2,10 @@
|
||||
using AtomUI.IconPkg.AntDesign;
|
||||
using AtomUI.MotionScene;
|
||||
using AtomUI.Theme;
|
||||
using AtomUI.Theme.Data;
|
||||
using AtomUI.Theme.Styling;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Presenters;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Controls.Templates;
|
||||
using Avalonia.Data;
|
||||
using Avalonia.Data.Converters;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using AtomUI.IconPkg;
|
||||
using AtomUI.Theme;
|
||||
using AtomUI.Theme.Data;
|
||||
using AtomUI.Theme.Styling;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
@@ -46,16 +45,6 @@ internal class PopupConfirmContainerTheme : BaseControlTheme
|
||||
|
||||
BuildInstanceStyles(popupConfirmContainer);
|
||||
|
||||
RegisterTokenResourceBindings(popupConfirmContainer, () =>
|
||||
{
|
||||
popupConfirmContainer.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(mainLayout,
|
||||
Layoutable.MinWidthProperty,
|
||||
PopupConfirmTokenKey.PopupMinWidth));
|
||||
popupConfirmContainer.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(mainLayout,
|
||||
Layoutable.MinHeightProperty,
|
||||
PopupConfirmTokenKey.PopupMinHeight));
|
||||
});
|
||||
|
||||
return mainLayout;
|
||||
});
|
||||
}
|
||||
@@ -188,6 +177,11 @@ internal class PopupConfirmContainerTheme : BaseControlTheme
|
||||
{
|
||||
var commonStyle = new Style(selector => selector.Nesting());
|
||||
|
||||
var mainLayoutStyle = new Style(selector => selector.Nesting().Template().Name(MainLayoutPart));
|
||||
mainLayoutStyle.Add(Layoutable.MinWidthProperty, PopupConfirmTokenKey.PopupMinWidth);
|
||||
mainLayoutStyle.Add(Layoutable.MinHeightProperty, PopupConfirmTokenKey.PopupMinHeight);
|
||||
commonStyle.Add(mainLayoutStyle);
|
||||
|
||||
var iconContentPresenter = new Style(selector => selector.Nesting().Template().Name(IconContentPart));
|
||||
iconContentPresenter.Add(Layoutable.MarginProperty, PopupConfirmTokenKey.IconMargin);
|
||||
commonStyle.Add(iconContentPresenter);
|
||||
|
||||
@@ -31,10 +31,6 @@ internal class AbstractCircleProgressTheme : AbstractProgressBarTheme
|
||||
exceptionCompletedIcon.VerticalAlignment = VerticalAlignment.Center;
|
||||
|
||||
exceptionCompletedIcon.RegisterInNameScope(scope);
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(exceptionCompletedIcon, Icon.NormalFilledBrushProperty,
|
||||
SharedTokenKey.ColorError));
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(exceptionCompletedIcon, Icon.DisabledFilledBrushProperty,
|
||||
SharedTokenKey.ControlItemBgActiveDisabled));
|
||||
|
||||
var successCompletedIcon = AntDesignIconPackage.CheckOutlined();
|
||||
successCompletedIcon.Name = SuccessCompletedIconPart;
|
||||
@@ -42,10 +38,6 @@ internal class AbstractCircleProgressTheme : AbstractProgressBarTheme
|
||||
successCompletedIcon.VerticalAlignment = VerticalAlignment.Center;
|
||||
|
||||
successCompletedIcon.RegisterInNameScope(scope);
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(successCompletedIcon, Icon.NormalFilledBrushProperty,
|
||||
SharedTokenKey.ColorSuccess));
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(successCompletedIcon, Icon.DisabledFilledBrushProperty,
|
||||
SharedTokenKey.ControlItemBgActiveDisabled));
|
||||
|
||||
container.Children.Add(exceptionCompletedIcon);
|
||||
container.Children.Add(successCompletedIcon);
|
||||
@@ -54,6 +46,17 @@ internal class AbstractCircleProgressTheme : AbstractProgressBarTheme
|
||||
protected override void BuildStyles()
|
||||
{
|
||||
base.BuildStyles();
|
||||
|
||||
// 完成图标样式
|
||||
var exceptionCompletedIconStyle = new Style(selector => selector.Nesting().Template().Name(ExceptionCompletedIconPart));
|
||||
exceptionCompletedIconStyle.Add(Icon.NormalFilledBrushProperty, SharedTokenKey.ColorError);
|
||||
exceptionCompletedIconStyle.Add(Icon.DisabledFilledBrushProperty, SharedTokenKey.ControlItemBgActiveDisabled);
|
||||
Add(exceptionCompletedIconStyle);
|
||||
|
||||
var successCompletedIconStyle = new Style(selector => selector.Nesting().Template().Name(SuccessCompletedIconPart));
|
||||
successCompletedIconStyle.Add(Icon.NormalFilledBrushProperty, SharedTokenKey.ColorSuccess);
|
||||
successCompletedIconStyle.Add(Icon.DisabledFilledBrushProperty, SharedTokenKey.ControlItemBgActiveDisabled);
|
||||
Add(successCompletedIconStyle);
|
||||
|
||||
var commonStyle = new Style(selector => selector.Nesting());
|
||||
commonStyle.Add(AbstractCircleProgress.CircleMinimumTextFontSizeProperty,
|
||||
|
||||
@@ -30,24 +30,12 @@ internal class AbstractLineProgressTheme : AbstractProgressBarTheme
|
||||
exceptionCompletedIcon.HorizontalAlignment = HorizontalAlignment.Left;
|
||||
|
||||
exceptionCompletedIcon.RegisterInNameScope(scope);
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(exceptionCompletedIcon,
|
||||
Icon.NormalFilledBrushProperty,
|
||||
SharedTokenKey.ColorError));
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(exceptionCompletedIcon,
|
||||
Icon.DisabledFilledBrushProperty,
|
||||
SharedTokenKey.ControlItemBgActiveDisabled));
|
||||
|
||||
var successCompletedIcon = AntDesignIconPackage.CheckCircleFilled();
|
||||
successCompletedIcon.Name = SuccessCompletedIconPart;
|
||||
successCompletedIcon.HorizontalAlignment = HorizontalAlignment.Left;
|
||||
|
||||
successCompletedIcon.RegisterInNameScope(scope);
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(successCompletedIcon,
|
||||
Icon.NormalFilledBrushProperty,
|
||||
SharedTokenKey.ColorSuccess));
|
||||
progressBar.AddTokenBindingDisposable(TokenResourceBinder.CreateTokenBinding(successCompletedIcon,
|
||||
Icon.DisabledFilledBrushProperty,
|
||||
SharedTokenKey.ControlItemBgActiveDisabled));
|
||||
|
||||
container.Children.Add(exceptionCompletedIcon);
|
||||
container.Children.Add(successCompletedIcon);
|
||||
@@ -60,6 +48,18 @@ internal class AbstractLineProgressTheme : AbstractProgressBarTheme
|
||||
commonStyle.Add(AbstractLineProgress.LineProgressPaddingProperty, ProgressBarTokenKey.LineProgressPadding);
|
||||
commonStyle.Add(AbstractLineProgress.LineExtraInfoMarginProperty, ProgressBarTokenKey.LineExtraInfoMargin);
|
||||
Add(commonStyle);
|
||||
|
||||
// 完成图标样式
|
||||
var exceptionCompletedIconStyle = new Style(selector => selector.Nesting().Template().Name(ExceptionCompletedIconPart));
|
||||
exceptionCompletedIconStyle.Add(Icon.NormalFilledBrushProperty, SharedTokenKey.ColorError);
|
||||
exceptionCompletedIconStyle.Add(Icon.DisabledFilledBrushProperty, SharedTokenKey.ControlItemBgActiveDisabled);
|
||||
Add(exceptionCompletedIconStyle);
|
||||
|
||||
var successCompletedIconStyle = new Style(selector => selector.Nesting().Template().Name(SuccessCompletedIconPart));
|
||||
successCompletedIconStyle.Add(Icon.NormalFilledBrushProperty, SharedTokenKey.ColorSuccess);
|
||||
successCompletedIconStyle.Add(Icon.DisabledFilledBrushProperty, SharedTokenKey.ControlItemBgActiveDisabled);
|
||||
Add(successCompletedIconStyle);
|
||||
|
||||
BuildSizeTypeStyle();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user