22
demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml
Normal file
22
demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml
Normal file
@@ -0,0 +1,22 @@
|
||||
<UserControl
|
||||
x:Class="Ursa.Demo.Pages.ButtonGroupDemo"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:u="https://irihi.tech/ursa"
|
||||
xmlns:vm="clr-namespace:Ursa.Demo.ViewModels;assembly=Ursa.Demo"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="vm:ButtonGroupViewModel"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<StackPanel Margin="20" Spacing="20">
|
||||
<u:ButtonGroup Classes="Primary Solid" ItemsSource="{Binding Items}" />
|
||||
<u:ButtonGroup Classes="Primary" ItemsSource="{Binding Items}" />
|
||||
<u:ButtonGroup Classes="Primary Borderless" ItemsSource="{Binding Items}" />
|
||||
<u:ButtonGroup Classes="Primary Large" ItemsSource="{Binding Items}" />
|
||||
<u:ButtonGroup Classes="Primary Small" ItemsSource="{Binding Items}" />
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
15
demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs
Normal file
15
demo/Ursa.Demo/Pages/ButtonGroupDemo.axaml.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Ursa.Demo.ViewModels;
|
||||
|
||||
namespace Ursa.Demo.Pages;
|
||||
|
||||
public partial class ButtonGroupDemo : UserControl
|
||||
{
|
||||
public ButtonGroupDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new ButtonGroupViewModel();
|
||||
}
|
||||
}
|
||||
11
demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs
Normal file
11
demo/Ursa.Demo/ViewModels/ButtonGroupViewModel.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace Ursa.Demo.ViewModels;
|
||||
|
||||
public class ButtonGroupViewModel: ViewModelBase
|
||||
{
|
||||
public ObservableCollection<string> Items { get; set; } = new ObservableCollection<string>()
|
||||
{
|
||||
"Ding", "Otter", "Husky", "Mr. 17", "Cass"
|
||||
};
|
||||
}
|
||||
@@ -29,6 +29,9 @@
|
||||
<TabItem Header="Banner">
|
||||
<pages:BannerDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ButtonGroup">
|
||||
<pages:ButtonGroupDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Divider">
|
||||
<pages:DividerDemo />
|
||||
</TabItem>
|
||||
|
||||
73
src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml
Normal file
73
src/Ursa.Themes.Semi/Controls/ButtonGroup.axaml
Normal file
@@ -0,0 +1,73 @@
|
||||
<ResourceDictionary
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:u="https://irihi.tech/ursa">
|
||||
<!-- Add Resources Here -->
|
||||
<Design.PreviewWith>
|
||||
<StackPanel Margin="20">
|
||||
<u:ButtonGroup Classes="Primary">
|
||||
<Button Content="Hello" />
|
||||
</u:ButtonGroup>
|
||||
</StackPanel>
|
||||
</Design.PreviewWith>
|
||||
<ControlTheme x:Key="{x:Type u:ButtonGroup}" TargetType="u:ButtonGroup">
|
||||
<Setter Property="VerticalAlignment" Value="Top" />
|
||||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupDefaultBackground}" />
|
||||
<Setter Property="CornerRadius" Value="3" />
|
||||
<Setter Property="ClipToBounds" Value="True" />
|
||||
<Setter Property="u:ButtonGroup.ItemContainerTheme" Value="{DynamicResource ButtonGroupItemTheme}" />
|
||||
<Setter Property="u:ButtonGroup.ItemsPanel">
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal" />
|
||||
</ItemsPanelTemplate>
|
||||
</Setter>
|
||||
<Setter Property="u:ButtonGroup.Template">
|
||||
<ControlTemplate TargetType="u:ButtonGroup">
|
||||
<Border
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
ClipToBounds="True"
|
||||
CornerRadius="{TemplateBinding CornerRadius}">
|
||||
<ItemsPresenter Name="PART_ItemsPresenter" ItemsPanel="{TemplateBinding ItemsPanel}" />
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
|
||||
<ControlTheme x:Key="ButtonGroupItemTheme" TargetType="Button">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Padding" Value="{DynamicResource ButtonGroupDefaultPadding}" />
|
||||
<Setter Property="FontWeight" Value="{DynamicResource ButtonGroupDefaultFontWeight}" />
|
||||
<Setter Property="Cursor" Value="Hand" />
|
||||
<Setter Property="Button.Template">
|
||||
<ControlTemplate TargetType="Button">
|
||||
<DockPanel LastChildFill="True">
|
||||
<Rectangle
|
||||
Name="PART_Separator"
|
||||
Width="1"
|
||||
Height="16"
|
||||
VerticalAlignment="Center"
|
||||
DockPanel.Dock="Right"
|
||||
Fill="{DynamicResource ButtonGroupSeparatorForeground}" />
|
||||
<Border
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}">
|
||||
<ContentPresenter
|
||||
Margin="{TemplateBinding Padding}"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
Content="{TemplateBinding Content}"
|
||||
FontWeight="{TemplateBinding FontWeight}"
|
||||
Foreground="{TemplateBinding Foreground}" />
|
||||
</Border>
|
||||
</DockPanel>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
@@ -3,6 +3,7 @@
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="Badge.axaml" />
|
||||
<ResourceInclude Source="Banner.axaml" />
|
||||
<ResourceInclude Source="ButtonGroup.axaml" />
|
||||
<ResourceInclude Source="Divider.axaml" />
|
||||
<ResourceInclude Source="IPv4Box.axaml" />
|
||||
<ResourceInclude Source="Loading.axaml" />
|
||||
|
||||
@@ -17,5 +17,7 @@
|
||||
</ResourceDictionary>
|
||||
</Styles.Resources>
|
||||
|
||||
<StyleInclude Source="../Styles/_index.axaml" />
|
||||
|
||||
<!-- Add Styles Here -->
|
||||
</Styles>
|
||||
|
||||
128
src/Ursa.Themes.Semi/Styles/ButtonGroup.axaml
Normal file
128
src/Ursa.Themes.Semi/Styles/ButtonGroup.axaml
Normal file
@@ -0,0 +1,128 @@
|
||||
<Styles
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:u="https://irihi.tech/ursa">
|
||||
<Design.PreviewWith>
|
||||
<Border Padding="20">
|
||||
<!-- Add Controls for Previewer Here -->
|
||||
<u:ButtonGroup Classes="Primary Solid">
|
||||
<Button Content="Hello" />
|
||||
<Button Content="Avalonia" />
|
||||
<Button Content="Hello" />
|
||||
<Button Content="IRIHI" />
|
||||
</u:ButtonGroup>
|
||||
</Border>
|
||||
</Design.PreviewWith>
|
||||
|
||||
<!-- Add Styles Here -->
|
||||
<Style Selector="u|ButtonGroup Button:nth-last-child(1) /template/ Rectangle#PART_Separator">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Borderless">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Large Button">
|
||||
<Setter Property="Padding" Value="{DynamicResource ButtonGroupLargePadding}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Small Button">
|
||||
<Setter Property="Padding" Value="{DynamicResource ButtonGroupSmallPadding}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup Button:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupDefaultPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup Button:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupDefaultPressedBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Primary Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultPrimaryForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Secondary Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultSecondaryForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Tertiary Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultTertiaryForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Warning Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultWarningForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Danger Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultDangerForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Success Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupDefaultSuccessForeground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="u|ButtonGroup.Solid.Primary">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidPrimaryBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Secondary">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSecondaryBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Tertiary">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidTertiaryBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Warning">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidWarningBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Danger">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidDangerBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Success">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSuccessBackground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid Button">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonGroupSolidForeground}" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid Button">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Primary Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidPrimaryPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidPrimaryPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Secondary Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSecondaryPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSecondaryPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Tertiary Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidTertiaryPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidTertiaryPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Warning Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidWarningPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidWarningPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Danger Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidDangerPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidDangerPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="u|ButtonGroup.Solid.Success Button">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSuccessPointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonGroupSolidSuccessPressedBackground}" />
|
||||
</Style>
|
||||
</Style>
|
||||
|
||||
</Styles>
|
||||
9
src/Ursa.Themes.Semi/Styles/_index.axaml
Normal file
9
src/Ursa.Themes.Semi/Styles/_index.axaml
Normal file
@@ -0,0 +1,9 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Design.PreviewWith>
|
||||
<Border Padding="20">
|
||||
<!-- Add Controls for Previewer Here -->
|
||||
</Border>
|
||||
</Design.PreviewWith>
|
||||
<StyleInclude Source="ButtonGroup.axaml" />
|
||||
<!-- Add Styles Here -->
|
||||
</Styles>
|
||||
80
src/Ursa.Themes.Semi/Themes/Dark/ButtonGroup.axaml
Normal file
80
src/Ursa.Themes.Semi/Themes/Dark/ButtonGroup.axaml
Normal file
@@ -0,0 +1,80 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Add Resources Here -->
|
||||
<!-- Light -->
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPrimaryForeground" Color="#54A9FF" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultSecondaryForeground" Color="#40B4F3" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultTertiaryForeground" Color="#888D92" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultSuccessForeground" Color="#5DC264" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultWarningForeground" Color="#FFAE43" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDangerForeground" Color="#FC725A" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledForeground" Opacity="0.35" Color="#F9F9F9" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultBackground" Opacity="0.12" Color="White" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPointeroverBackground" Opacity="0.16" Color="White" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPressedBackground" Opacity="0.20" Color="White" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledBackground" Opacity="0.04" Color="#E6E8EA" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPointeroverBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPressedBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledBorderBrush" Color="Transparent" />
|
||||
|
||||
<!-- end Light -->
|
||||
|
||||
<!-- Solid -->
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidForeground" Color="White" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledForeground" Color="Gray" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryBackground" Color="#54A9FF" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPointeroverBackground" Color="#7FC1FF" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPressedBackground" Color="#A9D7FF" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryBackground" Color="#40B4F3" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPointeroverBackground" Color="#6EC8F6" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPressedBackground" Color="#9DDCF9" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryBackground" Color="#888D92" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPointeroverBackground" Color="#A7ABB0" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPressedBackground" Color="#C6CACD" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessBackground" Color="#5DC264" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPointeroverBackground" Color="#7FD184" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPressedBackground" Color="#A6E1A8" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningBackground" Color="#FFAE43" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPointeroverBackground" Color="#FFC772" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPressedBackground" Color="#FFDDA1" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerBackground" Color="#FC725A" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPointeroverBackground" Color="#FD9983" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPressedBackground" Color="#FDBEAC" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledBackground" Color="Gray" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryBorderBrush" Color="#54A9FF" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPointeroverBorderBrush" Color="#7FC1FF" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPressedBorderBrush" Color="#A9D7FF" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryBorderBrush" Color="#40B4F3" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPointeroverBorderBrush" Color="#6EC8F6" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPressedBorderBrush" Color="#9DDCF9" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryBorderBrush" Color="#888D92" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPointeroverBorderBrush" Color="#A7ABB0" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPressedBorderBrush" Color="#C6CACD" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessBorderBrush" Color="#5DC264" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPointeroverBorderBrush" Color="#7FD184" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPressedBorderBrush" Color="#A6E1A8" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningBorderBrush" Color="#FFAE43" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPointeroverBorderBrush" Color="#FFC772" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPressedBorderBrush" Color="#FFDDA1" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerBorderBrush" Color="#FC725A" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPointeroverBorderBrush" Color="#FD9983" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPressedBorderBrush" Color="#FDBEAC" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledBorderBrush" Color="#FF2E3238" />
|
||||
<!-- end Solid -->
|
||||
</ResourceDictionary>
|
||||
@@ -3,6 +3,7 @@
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<MergeResourceInclude Source="Badge.axaml" />
|
||||
<MergeResourceInclude Source="Banner.axaml" />
|
||||
<MergeResourceInclude Source="ButtonGroup.axaml" />
|
||||
<MergeResourceInclude Source="Divider.axaml" />
|
||||
<MergeResourceInclude Source="IPv4Box.axaml" />
|
||||
<MergeResourceInclude Source="Loading.axaml" />
|
||||
|
||||
82
src/Ursa.Themes.Semi/Themes/Light/ButtonGroup.axaml
Normal file
82
src/Ursa.Themes.Semi/Themes/Light/ButtonGroup.axaml
Normal file
@@ -0,0 +1,82 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Add Resources Here -->
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSeparatorForeground" Opacity="0.08" Color="#FF1C1F23" />
|
||||
<!-- Light -->
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPrimaryForeground" Color="#0077FA" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultSecondaryForeground" Color="#0095EE" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultTertiaryForeground" Color="#6B7075" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultSuccessForeground" Color="#3BB346" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultWarningForeground" Color="#FC8800" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDangerForeground" Color="#F93920" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledForeground" Opacity="0.35" Color="#1C1F23" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultBackground" Opacity="0.05" Color="#2E3238" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPointeroverBackground" Opacity="0.09" Color="#2E3238" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPressedBackground" Opacity="0.13" Color="#2E3238" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledBackground" Color="#E6E8EA" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPointeroverBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultPressedBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonGroupDefaultDisabledBorderBrush" Color="Transparent" />
|
||||
|
||||
<!-- end Light -->
|
||||
|
||||
<!-- Solid -->
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidForeground" Color="White" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledForeground" Color="Gray" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryBackground" Color="#0077FA" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPointeroverBackground" Color="#0062D6" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPressedBackground" Color="#004FB3" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryBackground" Color="#0095EE" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPointeroverBackground" Color="#007BCA" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPressedBackground" Color="#0063A7" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryBackground" Color="#6B7075" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPointeroverBackground" Color="#555B61" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPressedBackground" Color="#41464C" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessBackground" Color="#3BB346" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPointeroverBackground" Color="#30953B" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPressedBackground" Color="#25772F" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningBackground" Color="#FC8800" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPointeroverBackground" Color="#D26700" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPressedBackground" Color="#A84A00" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerBackground" Color="#F93920" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPointeroverBackground" Color="#D52515" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPressedBackground" Color="#B2140C" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledBackground" Color="Gray" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryBorderBrush" Color="#0077FA" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPointeroverBorderBrush" Color="#0062D6" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidPrimaryPressedBorderBrush" Color="#004FB3" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryBorderBrush" Color="#0095EE" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPointeroverBorderBrush" Color="#007BCA" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSecondaryPressedBorderBrush" Color="#0063A7" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryBorderBrush" Color="#6B7075" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPointeroverBorderBrush" Color="#555B61" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidTertiaryPressedBorderBrush" Color="#41464C" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessBorderBrush" Color="#3BB346" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPointeroverBorderBrush" Color="#30953B" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidSuccessPressedBorderBrush" Color="#25772F" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningBorderBrush" Color="#FC8800" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPointeroverBorderBrush" Color="#D26700" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidWarningPressedBorderBrush" Color="#A84A00" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerBorderBrush" Color="#F93920" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPointeroverBorderBrush" Color="#D52515" />
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDangerPressedBorderBrush" Color="#B2140C" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonGroupSolidDisabledBorderBrush" Color="Gray" />
|
||||
<!-- end Solid -->
|
||||
</ResourceDictionary>
|
||||
@@ -3,6 +3,7 @@
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<MergeResourceInclude Source="Badge.axaml" />
|
||||
<MergeResourceInclude Source="Banner.axaml" />
|
||||
<MergeResourceInclude Source="ButtonGroup.axaml" />
|
||||
<MergeResourceInclude Source="Divider.axaml" />
|
||||
<MergeResourceInclude Source="IPv4Box.axaml" />
|
||||
<MergeResourceInclude Source="Loading.axaml" />
|
||||
|
||||
10
src/Ursa.Themes.Semi/Themes/Shared/ButtonGroup.axaml
Normal file
10
src/Ursa.Themes.Semi/Themes/Shared/ButtonGroup.axaml
Normal file
@@ -0,0 +1,10 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Add Resources Here -->
|
||||
<x:Double x:Key="ButtonGroupDefaultFontSize">14</x:Double>
|
||||
<FontWeight x:Key="ButtonGroupDefaultFontWeight">600</FontWeight>
|
||||
<CornerRadius x:Key="ButtonGroupCornerRadius">3</CornerRadius>
|
||||
|
||||
<Thickness x:Key="ButtonGroupDefaultPadding">12 6</Thickness>
|
||||
<Thickness x:Key="ButtonGroupLargePadding">16 10</Thickness>
|
||||
<Thickness x:Key="ButtonGroupSmallPadding">6 2</Thickness>
|
||||
</ResourceDictionary>
|
||||
@@ -3,6 +3,7 @@
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<MergeResourceInclude Source="Badge.axaml" />
|
||||
<MergeResourceInclude Source="Banner.axaml" />
|
||||
<MergeResourceInclude Source="ButtonGroup.axaml" />
|
||||
<MergeResourceInclude Source="Divider.axaml" />
|
||||
<MergeResourceInclude Source="IPv4Box.axaml" />
|
||||
<MergeResourceInclude Source="NavigationMenu.axaml" />
|
||||
|
||||
23
src/Ursa/Controls/ButtonGroup.cs
Normal file
23
src/Ursa/Controls/ButtonGroup.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.Net.Http.Headers;
|
||||
using Avalonia;
|
||||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Media;
|
||||
using Avalonia.Metadata;
|
||||
|
||||
namespace Ursa.Controls;
|
||||
|
||||
public class ButtonGroup: ItemsControl
|
||||
{
|
||||
protected override bool NeedsContainerOverride(object? item, int index, out object? recycleKey)
|
||||
{
|
||||
recycleKey = null;
|
||||
return item is not Button;
|
||||
}
|
||||
|
||||
protected override Control CreateContainerForItemOverride(object? item, int index, object? recycleKey)
|
||||
{
|
||||
return new Button();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user