/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App.Controls/Storage/StorageBar/StorageBar.xaml
168 строк
8 KB
Martin Anderson
Code Quality: Update StorageBar.xaml - Replace Storyboard with VisualState Setters (#18531)
03 июн 2026, 17:21
Не верифицирован
03 июн 2026, 17:21
d6338db
Код
Авторство
О чём код?
<!-- Copyright (c) Files Community. Licensed under the MIT License. --> <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:Files.App.Controls"> <ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Default"> <StaticResource x:Key="StorageBarCornerRadius" ResourceKey="OverlayCornerRadius" /> <x:Double x:Key="StorageBarValueHeight">6</x:Double> <x:Double x:Key="StorageBarTrackHeight">2</x:Double> <Thickness x:Key="StorageBarPadding">4,4,4,4</Thickness> <StaticResource x:Key="StorageBarBackgroundBrush" ResourceKey="ControlFillColorTransparentBrush" /> <StaticResource x:Key="StorageBarValueBrush" ResourceKey="AccentFillColorDefaultBrush" /> <StaticResource x:Key="StorageBarValueCautionBrush" ResourceKey="SystemFillColorCautionBrush" /> <StaticResource x:Key="StorageBarValueCriticalBrush" ResourceKey="SystemFillColorCriticalBrush" /> <StaticResource x:Key="StorageBarValueDisabledBrush" ResourceKey="AccentFillColorDisabledBrush" /> <StaticResource x:Key="StorageBarTrackBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackCautionBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackCriticalBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackDisabledBrush" ResourceKey="ControlStrongStrokeColorDisabledBrush" /> </ResourceDictionary> <ResourceDictionary x:Key="HighContrast"> <StaticResource x:Key="StorageBarCornerRadius" ResourceKey="OverlayCornerRadius" /> <x:Double x:Key="StorageBarValueHeight">6</x:Double> <x:Double x:Key="StorageBarTrackHeight">2</x:Double> <Thickness x:Key="StorageBarPadding">4,4,4,4</Thickness> <StaticResource x:Key="StorageBarBackgroundBrush" ResourceKey="SystemControlBackgroundBaseLowBrush" /> <StaticResource x:Key="StorageBarValueBrush" ResourceKey="SystemColorHighlightColorBrush" /> <StaticResource x:Key="StorageBarValueCautionBrush" ResourceKey="SystemColorHotlightColorBrush" /> <StaticResource x:Key="StorageBarValueCriticalBrush" ResourceKey="SystemColorHotlightColorBrush" /> <StaticResource x:Key="StorageBarValueDisabledBrush" ResourceKey="SystemColorGrayTextBrush" /> <StaticResource x:Key="StorageBarTrackBrush" ResourceKey="SystemColorWindowTextColorBrush" /> <StaticResource x:Key="StorageBarTrackCautionBrush" ResourceKey="SystemColorWindowTextColorBrush" /> <StaticResource x:Key="StorageBarTrackCriticalBrush" ResourceKey="SystemColorWindowTextColorBrush" /> <StaticResource x:Key="StorageBarTrackDisabledBrush" ResourceKey="SystemColorGrayTextBrush" /> </ResourceDictionary> <ResourceDictionary x:Key="Light"> <StaticResource x:Key="StorageBarCornerRadius" ResourceKey="OverlayCornerRadius" /> <x:Double x:Key="StorageBarValueHeight">6</x:Double> <x:Double x:Key="StorageBarTrackHeight">2</x:Double> <Thickness x:Key="StorageBarPadding">4,4,4,4</Thickness> <StaticResource x:Key="StorageBarBackgroundBrush" ResourceKey="ControlFillColorTransparentBrush" /> <StaticResource x:Key="StorageBarValueBrush" ResourceKey="AccentFillColorDefaultBrush" /> <StaticResource x:Key="StorageBarValueCautionBrush" ResourceKey="SystemFillColorCautionBrush" /> <StaticResource x:Key="StorageBarValueCriticalBrush" ResourceKey="SystemFillColorCriticalBrush" /> <StaticResource x:Key="StorageBarValueDisabledBrush" ResourceKey="AccentFillColorDisabledBrush" /> <StaticResource x:Key="StorageBarTrackBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackCautionBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackCriticalBrush" ResourceKey="ControlStrongStrokeColorDefaultBrush" /> <StaticResource x:Key="StorageBarTrackDisabledBrush" ResourceKey="ControlStrongStrokeColorDisabledBrush" /> </ResourceDictionary> </ResourceDictionary.ThemeDictionaries> <Style BasedOn="{StaticResource DefaultStorageBarStyle}" TargetType="local:StorageBar" /> <Style x:Key="DefaultStorageBarStyle" TargetType="local:StorageBar"> <Setter Property="Padding" Value="{ThemeResource StorageBarPadding}" /> <Setter Property="Foreground" Value="{ThemeResource StorageBarValueBrush}" /> <Setter Property="Background" Value="{ThemeResource StorageBarTrackBrush}" /> <Setter Property="BorderThickness" Value="0" /> <Setter Property="BorderBrush" Value="Transparent" /> <Setter Property="ValueBarHeight" Value="{ThemeResource StorageBarValueHeight}" /> <Setter Property="TrackBarHeight" Value="{ThemeResource StorageBarTrackHeight}" /> <Setter Property="CornerRadius" Value="{ThemeResource StorageBarCornerRadius}" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="Minimum" Value="0" /> <Setter Property="Maximum" Value="100" /> <Setter Property="MinWidth" Value="32" /> <Setter Property="MinHeight" Value="8" /> <Setter Property="Value" Value="25" /> <Setter Property="SmallChange" Value="0.1" /> <Setter Property="LargeChange" Value="10" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:StorageBar"> <Border x:Name="BarRootPanel" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" MinWidth="{TemplateBinding MinWidth}" MinHeight="{TemplateBinding MinHeight}" MaxWidth="{TemplateBinding MaxWidth}" MaxHeight="{TemplateBinding MaxHeight}" Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <Grid x:Name="PART_Container" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FlowDirection="{TemplateBinding FlowDirection}"> <Grid.ColumnDefinitions> <ColumnDefinition x:Name="PART_ValueColumn" /> <ColumnDefinition x:Name="PART_GapColumn" /> <ColumnDefinition x:Name="PART_TrackColumn" /> </Grid.ColumnDefinitions> <Border x:Name="PART_ValueBar" Grid.Column="0" Height="{TemplateBinding ValueBarHeight}" HorizontalAlignment="Stretch" VerticalAlignment="Center" Background="{TemplateBinding Foreground}" /> <Border x:Name="PART_TrackBar" Grid.Column="2" Height="{TemplateBinding TrackBarHeight}" HorizontalAlignment="Stretch" VerticalAlignment="Center" Background="{TemplateBinding Background}" /> </Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="ControlStates"> <VisualState x:Name="Safe" /> <VisualState x:Name="Caution"> <VisualState.Setters> <Setter Target="PART_ValueBar.Background" Value="{ThemeResource StorageBarValueCautionBrush}" /> <Setter Target="PART_TrackBar.Background" Value="{ThemeResource StorageBarTrackCautionBrush}" /> </VisualState.Setters> </VisualState> <VisualState x:Name="Critical"> <VisualState.Setters> <Setter Target="PART_ValueBar.Background" Value="{ThemeResource StorageBarValueCriticalBrush}" /> <Setter Target="PART_TrackBar.Background" Value="{ThemeResource StorageBarTrackCriticalBrush}" /> </VisualState.Setters> </VisualState> <VisualState x:Name="Disabled"> <VisualState.Setters> <Setter Target="PART_ValueBar.Background" Value="{ThemeResource StorageBarValueDisabledBrush}" /> <Setter Target="PART_TrackBar.Background" Value="{ThemeResource StorageBarTrackDisabledBrush}" /> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary>