mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-04-30 13:13:24 +08:00
feat: add sample in web app.
This commit is contained in:
BIN
demo/Semi.Avalonia.Demo/Assets/avalonia-logo.ico
Normal file
BIN
demo/Semi.Avalonia.Demo/Assets/avalonia-logo.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 172 KiB |
41
demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml
Normal file
41
demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml
Normal file
@@ -0,0 +1,41 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.AutoCompleteBoxDemo"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Semi.Avalonia.Demo.Pages"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<Design.DataContext>
|
||||
<local:AutoCompleteBoxDemoViewModel />
|
||||
</Design.DataContext>
|
||||
<StackPanel
|
||||
Margin="20"
|
||||
HorizontalAlignment="Left"
|
||||
Spacing="20">
|
||||
<StackPanel.Styles>
|
||||
<Style Selector="AutoCompleteBox">
|
||||
<Setter Property="Width" Value="300" />
|
||||
</Style>
|
||||
</StackPanel.Styles>
|
||||
<AutoCompleteBox Items="{Binding States}" ValueMemberBinding="{Binding Name, x:DataType=local:StateData}">
|
||||
<AutoCompleteBox.ItemTemplate>
|
||||
<DataTemplate DataType="local:StateData">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
</AutoCompleteBox.ItemTemplate>
|
||||
</AutoCompleteBox>
|
||||
<AutoCompleteBox
|
||||
Items="{Binding States}"
|
||||
Theme="{StaticResource BorderlessAutoCompleteBox}"
|
||||
ValueMemberBinding="{Binding Name, x:DataType=local:StateData}">
|
||||
<AutoCompleteBox.ItemTemplate>
|
||||
<DataTemplate DataType="local:StateData">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
</AutoCompleteBox.ItemTemplate>
|
||||
</AutoCompleteBox>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
99
demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml.cs
Normal file
99
demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml.cs
Normal file
@@ -0,0 +1,99 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using System.Collections.Generic;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class AutoCompleteBoxDemo : UserControl
|
||||
{
|
||||
public AutoCompleteBoxDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new AutoCompleteBoxDemoViewModel();
|
||||
}
|
||||
}
|
||||
|
||||
public class AutoCompleteBoxDemoViewModel: ObservableObject
|
||||
{
|
||||
public ObservableCollection<StateData> States { get; set; }
|
||||
|
||||
public AutoCompleteBoxDemoViewModel()
|
||||
{
|
||||
States = new ObservableCollection<StateData>(GetStates());
|
||||
|
||||
}
|
||||
|
||||
private static List<StateData> GetStates()
|
||||
{
|
||||
return new List<StateData>
|
||||
{
|
||||
new StateData("Alabama", "AL", "Montgomery"),
|
||||
new StateData("Alaska", "AK", "Juneau"),
|
||||
new StateData("Arizona", "AZ", "Phoenix"),
|
||||
new StateData("Arkansas", "AR", "Little Rock"),
|
||||
new StateData("California", "CA", "Sacramento"),
|
||||
new StateData("Colorado", "CO", "Denver"),
|
||||
new StateData("Connecticut", "CT", "Hartford"),
|
||||
new StateData("Delaware", "DE", "Dover"),
|
||||
new StateData("Florida", "FL", "Tallahassee"),
|
||||
new StateData("Georgia", "GA", "Atlanta"),
|
||||
new StateData("Hawaii", "HI", "Honolulu"),
|
||||
new StateData("Idaho", "ID", "Boise"),
|
||||
new StateData("Illinois", "IL", "Springfield"),
|
||||
new StateData("Indiana", "IN", "Indianapolis"),
|
||||
new StateData("Iowa", "IA", "Des Moines"),
|
||||
new StateData("Kansas", "KS", "Topeka"),
|
||||
new StateData("Kentucky", "KY", "Frankfort"),
|
||||
new StateData("Louisiana", "LA", "Baton Rouge"),
|
||||
new StateData("Maine", "ME", "Augusta"),
|
||||
new StateData("Maryland", "MD", "Annapolis"),
|
||||
new StateData("Massachusetts", "MA", "Boston"),
|
||||
new StateData("Michigan", "MI", "Lansing"),
|
||||
new StateData("Minnesota", "MN", "St. Paul"),
|
||||
new StateData("Mississippi", "MS", "Jackson"),
|
||||
new StateData("Missouri", "MO", "Jefferson City"),
|
||||
new StateData("Montana", "MT", "Helena"),
|
||||
new StateData("Nebraska", "NE", "Lincoln"),
|
||||
new StateData("Nevada", "NV", "Carson City"),
|
||||
new StateData("New Hampshire", "NH", "Concord"),
|
||||
new StateData("New Jersey", "NJ", "Trenton"),
|
||||
new StateData("New Mexico", "NM", "Santa Fe"),
|
||||
new StateData("New York", "NY", "Albany"),
|
||||
new StateData("North Carolina", "NC", "Raleigh"),
|
||||
new StateData("North Dakota", "ND", "Bismarck"),
|
||||
new StateData("Ohio", "OH", "Columbus"),
|
||||
new StateData("Oklahoma", "OK", "Oklahoma City"),
|
||||
new StateData("Oregon", "OR", "Salem"),
|
||||
new StateData("Pennsylvania", "PA", "Harrisburg"),
|
||||
new StateData("Rhode Island", "RI", "Providence"),
|
||||
new StateData("South Carolina", "SC", "Columbia"),
|
||||
new StateData("South Dakota", "SD", "Pierre"),
|
||||
new StateData("Tennessee", "TN", "Nashville"),
|
||||
new StateData("Texas", "TX", "Austin"),
|
||||
new StateData("Utah", "UT", "Salt Lake City"),
|
||||
new StateData("Vermont", "VT", "Montpelier"),
|
||||
new StateData("Virginia", "VA", "Richmond"),
|
||||
new StateData("Washington", "WA", "Olympia"),
|
||||
new StateData("West Virginia", "WV", "Charleston"),
|
||||
new StateData("Wisconsin", "WI", "Madison"),
|
||||
new StateData("Wyoming", "WY", "Cheyenne"),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public class StateData
|
||||
{
|
||||
public string Name { get; private set; }
|
||||
public string Abbreviation { get; private set; }
|
||||
public string Capital { get; private set; }
|
||||
|
||||
public StateData(string name, string abbreviation, string capital)
|
||||
{
|
||||
Name = name;
|
||||
Abbreviation = abbreviation;
|
||||
Capital = capital;
|
||||
}
|
||||
}
|
||||
17
demo/Semi.Avalonia.Demo/Pages/BorderDemo.axaml
Normal file
17
demo/Semi.Avalonia.Demo/Pages/BorderDemo.axaml
Normal file
@@ -0,0 +1,17 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.BorderDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel Margin="20" Spacing="20">
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Card</TextBlock>
|
||||
</Border>
|
||||
<Border Classes="Shadow" Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Shadow Always Applied</TextBlock>
|
||||
</Border>
|
||||
<Border Classes="Hover" Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Shadow on Pointerover</TextBlock>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/BorderDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/BorderDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class BorderDemo : UserControl
|
||||
{
|
||||
public BorderDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
38
demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml
Normal file
38
demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml
Normal file
@@ -0,0 +1,38 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ButtonDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel Margin="20" HorizontalAlignment="Left" Spacing="20">
|
||||
<TextBlock>Light (Default)</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Button Classes="Primary">Primary</Button>
|
||||
<Button Classes="Secondary">Secondary</Button>
|
||||
<Button Classes="Tertiary">Tertiary</Button>
|
||||
<Button Classes="Warning">Warning</Button>
|
||||
<Button Classes="Danger">Danger</Button>
|
||||
<Button Classes="Primary" IsEnabled="False">Danger</Button>
|
||||
</StackPanel>
|
||||
<TextBlock>Solid</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Button Classes="Primary" Theme="{DynamicResource SolidButton}">Primary</Button>
|
||||
<Button Classes="Secondary" Theme="{DynamicResource SolidButton}">Secondary</Button>
|
||||
<Button Classes="Tertiary" Theme="{DynamicResource SolidButton}">Tertiary</Button>
|
||||
<Button Classes="Warning" Theme="{DynamicResource SolidButton}">Warning</Button>
|
||||
<Button Classes="Danger" Theme="{DynamicResource SolidButton}">Danger</Button>
|
||||
<Button Classes="Primary" IsEnabled="False" Theme="{DynamicResource SolidButton}">Danger</Button>
|
||||
</StackPanel>
|
||||
<TextBlock>Borderless</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Button Classes="Primary" Theme="{DynamicResource BorderlessButton}">Primary</Button>
|
||||
<Button Classes="Secondary" Theme="{DynamicResource BorderlessButton}">Secondary</Button>
|
||||
<Button Classes="Tertiary" Theme="{DynamicResource BorderlessButton}">Tertiary</Button>
|
||||
<Button Classes="Warning" Theme="{DynamicResource BorderlessButton}">Warning</Button>
|
||||
<Button Classes="Danger" Theme="{DynamicResource BorderlessButton}">Danger</Button>
|
||||
<Button Classes="Primary" IsEnabled="False" Theme="{DynamicResource BorderlessButton}">Danger</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ButtonDemo : UserControl
|
||||
{
|
||||
public ButtonDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
24
demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml
Normal file
24
demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml
Normal file
@@ -0,0 +1,24 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.CheckBoxDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel Margin="48" HorizontalAlignment="Left">
|
||||
<CheckBox>Unchecked</CheckBox>
|
||||
<CheckBox IsEnabled="False">Unchecked</CheckBox>
|
||||
<CheckBox IsChecked="True">Checked</CheckBox>
|
||||
<CheckBox IsChecked="True" IsEnabled="False">Checked</CheckBox>
|
||||
<CheckBox IsChecked="{x:Null}" IsThreeState="True">Indeterminate</CheckBox>
|
||||
<CheckBox
|
||||
IsChecked="{x:Null}"
|
||||
IsEnabled="False"
|
||||
IsThreeState="True">
|
||||
Indeterminate
|
||||
</CheckBox>
|
||||
<CheckBox Width="120">Checkbox should wrap its text</CheckBox>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class CheckBoxDemo : UserControl
|
||||
{
|
||||
public CheckBoxDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
27
demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml
Normal file
27
demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml
Normal file
@@ -0,0 +1,27 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ComboBoxDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel Margin="20" Spacing="20">
|
||||
<ComboBox Width="150">
|
||||
<TextBlock>AAA</TextBlock>
|
||||
<TextBlock>BBB</TextBlock>
|
||||
<TextBlock>CCC</TextBlock>
|
||||
</ComboBox>
|
||||
<ComboBox Width="150" PlaceholderText="Please Select">
|
||||
<TextBlock>AAA</TextBlock>
|
||||
<TextBlock>BBB</TextBlock>
|
||||
<TextBlock>CCC</TextBlock>
|
||||
</ComboBox>
|
||||
<ComboBox Width="150" IsEnabled="False">
|
||||
<TextBlock>AAA</TextBlock>
|
||||
<TextBlock>BBB</TextBlock>
|
||||
<TextBlock>CCC</TextBlock>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
18
demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml.cs
Normal file
18
demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ComboBoxDemo : UserControl
|
||||
{
|
||||
public ComboBoxDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
32
demo/Semi.Avalonia.Demo/Pages/ExpanderDemo.axaml
Normal file
32
demo/Semi.Avalonia.Demo/Pages/ExpanderDemo.axaml
Normal file
@@ -0,0 +1,32 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ExpanderDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel Margin="20" Spacing="20">
|
||||
<StackPanel>
|
||||
<Expander Header="Expander 1">
|
||||
<TextBlock Text="Hello Avalonia!" />
|
||||
</Expander>
|
||||
<Expander Header="Expander 2">
|
||||
<TextBox Text="Hello Avalonia!" />
|
||||
</Expander>
|
||||
<Expander Header="Expander 3">
|
||||
<Button Content="Hello Avalonia World!" />
|
||||
</Expander>
|
||||
</StackPanel>
|
||||
<Grid ColumnDefinitions="* *">
|
||||
<Expander
|
||||
Height="200" ExpandDirection="Right"
|
||||
Header="Right">
|
||||
<TextBlock>Right Content</TextBlock>
|
||||
</Expander>
|
||||
<Expander
|
||||
Grid.Column="1" Height="200"
|
||||
HorizontalAlignment="Right" ExpandDirection="Left"
|
||||
Header="Left">
|
||||
<TextBlock>Left Content</TextBlock>
|
||||
</Expander>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/ExpanderDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/ExpanderDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ExpanderDemo : UserControl
|
||||
{
|
||||
public ExpanderDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
118
demo/Semi.Avalonia.Demo/Pages/FlyoutDemo.axaml
Normal file
118
demo/Semi.Avalonia.Demo/Pages/FlyoutDemo.axaml
Normal file
@@ -0,0 +1,118 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.FlyoutDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Styles>
|
||||
<Style Selector="Button">
|
||||
<Setter Property="Margin" Value="8" />
|
||||
</Style>
|
||||
</UserControl.Styles>
|
||||
<Grid
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
ColumnDefinitions="* * * * *"
|
||||
RowDefinitions="* * * * *">
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Content="Top Left">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="TopEdgeAlignedLeft" Placement="TopEdgeAlignedLeft" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Content="Top">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="Top" Placement="Top" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Grid.Column="3"
|
||||
Content="Top Right">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="TopEdgeAlignedRight" Placement="TopEdgeAlignedRight" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="Left Top">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="LeftEdgeAlignedTop" Placement="LeftEdgeAlignedTop" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="4"
|
||||
Content="Right Top">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="RightEdgeAlignedTop" Placement="RightEdgeAlignedTop" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Left">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="Left" Placement="Left" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="4"
|
||||
Content="Right">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="Right" Placement="Right" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Content="Left Bottom">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="LeftEdgeAlignedBottom" Placement="LeftEdgeAlignedBottom" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="3"
|
||||
Grid.Column="4"
|
||||
Content="Right Bottom">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="RightEdgeAlignedBottom" Placement="RightEdgeAlignedBottom" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Content="Bottom Left">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="BottomEdgeAlignedLeft" Placement="BottomEdgeAlignedLeft" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="4"
|
||||
Grid.Column="2"
|
||||
Content="Bottom">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="Bottom" Placement="Bottom" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="4"
|
||||
Grid.Column="3"
|
||||
Content="Bottom Right">
|
||||
<Button.Flyout>
|
||||
<Flyout Content="BottomEdgeAlignedRight" Placement="BottomEdgeAlignedRight" />
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
14
demo/Semi.Avalonia.Demo/Pages/FlyoutDemo.axaml.cs
Normal file
14
demo/Semi.Avalonia.Demo/Pages/FlyoutDemo.axaml.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.LogicalTree;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class FlyoutDemo : UserControl
|
||||
{
|
||||
public FlyoutDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
78
demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml
Normal file
78
demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml
Normal file
@@ -0,0 +1,78 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.LabelDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel
|
||||
Width="500" Margin="20"
|
||||
HorizontalAlignment="Left" Spacing="20">
|
||||
<StackPanel.Styles>
|
||||
<Style Selector="Label">
|
||||
<Setter Property="Margin" Value="4" />
|
||||
</Style>
|
||||
</StackPanel.Styles>
|
||||
<WrapPanel>
|
||||
<Label Theme="{StaticResource TagLabel}">Label</Label>
|
||||
<Label Classes="Large" Theme="{StaticResource TagLabel}">Large Label</Label>
|
||||
<Label Classes="Circle" Theme="{StaticResource TagLabel}">Circle Label</Label>
|
||||
<Label Classes="Large Circle" Theme="{StaticResource TagLabel}">Large Circle Label</Label>
|
||||
</WrapPanel>
|
||||
<WrapPanel>
|
||||
<Label Classes="Amber" Theme="{StaticResource TagLabel}">Amber</Label>
|
||||
<Label Classes="Blue" Theme="{StaticResource TagLabel}">Blue</Label>
|
||||
<Label Classes="Cyan" Theme="{StaticResource TagLabel}">Cyan</Label>
|
||||
<Label Classes="Green" Theme="{StaticResource TagLabel}">Green</Label>
|
||||
<Label Classes="Grey" Theme="{StaticResource TagLabel}">Grey</Label>
|
||||
<Label Classes="Indigo" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
<Label Classes="LightBlue" Theme="{StaticResource TagLabel}">LightBlue</Label>
|
||||
<Label Classes="LightGreen" Theme="{StaticResource TagLabel}">LightGreen</Label>
|
||||
<Label Classes="Lime" Theme="{StaticResource TagLabel}">Lime</Label>
|
||||
<Label Classes="Orange" Theme="{StaticResource TagLabel}">Orange</Label>
|
||||
<Label Classes="Pink" Theme="{StaticResource TagLabel}">Pink</Label>
|
||||
<Label Classes="Purple" Theme="{StaticResource TagLabel}">Purple</Label>
|
||||
<Label Classes="Red" Theme="{StaticResource TagLabel}">Red</Label>
|
||||
<Label Classes="Teal" Theme="{StaticResource TagLabel}">Teal</Label>
|
||||
<Label Classes="Violet" Theme="{StaticResource TagLabel}">Violet</Label>
|
||||
<Label Classes="Yellow" Theme="{StaticResource TagLabel}">Yellow</Label>
|
||||
<Label Classes="White" Theme="{StaticResource TagLabel}">White</Label>
|
||||
</WrapPanel>
|
||||
<WrapPanel>
|
||||
<Label Classes="Ghost Amber" Theme="{StaticResource TagLabel}">Amber</Label>
|
||||
<Label Classes="Ghost Blue" Theme="{StaticResource TagLabel}">Blue</Label>
|
||||
<Label Classes="Ghost Cyan" Theme="{StaticResource TagLabel}">Cyan</Label>
|
||||
<Label Classes="Ghost Green" Theme="{StaticResource TagLabel}">Green</Label>
|
||||
<Label Classes="Ghost Grey" Theme="{StaticResource TagLabel}">Grey</Label>
|
||||
<Label Classes="Ghost Indigo" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
<Label Classes="Ghost LightBlue" Theme="{StaticResource TagLabel}">LightBlue</Label>
|
||||
<Label Classes="Ghost LightGreen" Theme="{StaticResource TagLabel}">LightGreen</Label>
|
||||
<Label Classes="Ghost Lime" Theme="{StaticResource TagLabel}">Lime</Label>
|
||||
<Label Classes="Ghost Orange" Theme="{StaticResource TagLabel}">Orange</Label>
|
||||
<Label Classes="Ghost Pink" Theme="{StaticResource TagLabel}">Pink</Label>
|
||||
<Label Classes="Ghost Purple" Theme="{StaticResource TagLabel}">Purple</Label>
|
||||
<Label Classes="Ghost Red" Theme="{StaticResource TagLabel}">Red</Label>
|
||||
<Label Classes="Ghost Teal" Theme="{StaticResource TagLabel}">Teal</Label>
|
||||
<Label Classes="Ghost Violet" Theme="{StaticResource TagLabel}">Violet</Label>
|
||||
<Label Classes="Ghost Yellow" Theme="{StaticResource TagLabel}">Yellow</Label>
|
||||
<Label Classes="Ghost White" Theme="{StaticResource TagLabel}">White</Label>
|
||||
</WrapPanel>
|
||||
<WrapPanel>
|
||||
<Label Classes="Solid Amber" Theme="{StaticResource TagLabel}">Amber</Label>
|
||||
<Label Classes="Solid Blue" Theme="{StaticResource TagLabel}">Blue</Label>
|
||||
<Label Classes="Solid Cyan" Theme="{StaticResource TagLabel}">Cyan</Label>
|
||||
<Label Classes="Solid Green" Theme="{StaticResource TagLabel}">Green</Label>
|
||||
<Label Classes="Solid Grey" Theme="{StaticResource TagLabel}">Grey</Label>
|
||||
<Label Classes="Solid Indigo" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
<Label Classes="Solid LightBlue" Theme="{StaticResource TagLabel}">LightBlue</Label>
|
||||
<Label Classes="Solid LightGreen" Theme="{StaticResource TagLabel}">LightGreen</Label>
|
||||
<Label Classes="Solid Lime" Theme="{StaticResource TagLabel}">Lime</Label>
|
||||
<Label Classes="Solid Orange" Theme="{StaticResource TagLabel}">Orange</Label>
|
||||
<Label Classes="Solid Pink" Theme="{StaticResource TagLabel}">Pink</Label>
|
||||
<Label Classes="Solid Purple" Theme="{StaticResource TagLabel}">Purple</Label>
|
||||
<Label Classes="Solid Red" Theme="{StaticResource TagLabel}">Red</Label>
|
||||
<Label Classes="Solid Teal" Theme="{StaticResource TagLabel}">Teal</Label>
|
||||
<Label Classes="Solid Violet" Theme="{StaticResource TagLabel}">Violet</Label>
|
||||
<Label Classes="Solid Yellow" Theme="{StaticResource TagLabel}">Yellow</Label>
|
||||
<Label Classes="Solid White" Theme="{StaticResource TagLabel}">White</Label>
|
||||
</WrapPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class LabelDemo : UserControl
|
||||
{
|
||||
public LabelDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
25
demo/Semi.Avalonia.Demo/Pages/ListBoxDemo.axaml
Normal file
25
demo/Semi.Avalonia.Demo/Pages/ListBoxDemo.axaml
Normal file
@@ -0,0 +1,25 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ListBoxDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<ListBox Margin="20">
|
||||
<ListBoxItem>Item 1</ListBoxItem>
|
||||
<ListBoxItem>Item 2</ListBoxItem>
|
||||
<ListBoxItem IsEnabled="False">Item 3</ListBoxItem>
|
||||
<ListBoxItem>Item 4</ListBoxItem>
|
||||
<ListBoxItem>Item 5</ListBoxItem>
|
||||
<ListBoxItem>Item 6</ListBoxItem>
|
||||
<ListBoxItem>Item 7</ListBoxItem>
|
||||
<ListBoxItem IsEnabled="False">Item 8</ListBoxItem>
|
||||
<ListBoxItem>Item 9</ListBoxItem>
|
||||
<ListBoxItem>Item 10</ListBoxItem>
|
||||
<ListBoxItem>Item 11</ListBoxItem>
|
||||
<ListBoxItem>Item 12</ListBoxItem>
|
||||
<ListBoxItem>Item 13</ListBoxItem>
|
||||
</ListBox>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/ListBoxDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/ListBoxDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ListBoxDemo : UserControl
|
||||
{
|
||||
public ListBoxDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
19
demo/Semi.Avalonia.Demo/Pages/NotificationDemo.axaml
Normal file
19
demo/Semi.Avalonia.Demo/Pages/NotificationDemo.axaml
Normal file
@@ -0,0 +1,19 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.NotificationDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel
|
||||
Margin="300,20,20,20"
|
||||
HorizontalAlignment="Left"
|
||||
Spacing="20">
|
||||
<Button Click="InfoButton_OnClick" Content="Information" />
|
||||
<Button Click="InfoButton_OnClick" Content="Success" />
|
||||
<Button Click="InfoButton_OnClick" Content="Warning" />
|
||||
<Button Click="InfoButton_OnClick" Content="Error" />
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
34
demo/Semi.Avalonia.Demo/Pages/NotificationDemo.axaml.cs
Normal file
34
demo/Semi.Avalonia.Demo/Pages/NotificationDemo.axaml.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Notifications;
|
||||
using Avalonia.Controls.Presenters;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.VisualTree;
|
||||
using Semi.Avalonia.Demo.Views;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class NotificationDemo : UserControl
|
||||
{
|
||||
private MainWindow? _window;
|
||||
public NotificationDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
|
||||
{
|
||||
base.OnAttachedToVisualTree(e);
|
||||
_window = VisualRoot as MainWindow;
|
||||
}
|
||||
|
||||
private void InfoButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is Button b && b.Content is string s && Enum.TryParse<NotificationType>(s, out NotificationType t))
|
||||
{
|
||||
_window?.Notify(t);
|
||||
}
|
||||
}
|
||||
}
|
||||
158
demo/Semi.Avalonia.Demo/Pages/Overview.axaml
Normal file
158
demo/Semi.Avalonia.Demo/Pages/Overview.axaml
Normal file
@@ -0,0 +1,158 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.Overview"
|
||||
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"
|
||||
d:DesignHeight="1000"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Auto">
|
||||
<StackPanel Margin="10" Spacing="5">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
Classes="H4"
|
||||
Text="Welcome to Semi Avalonia"
|
||||
Theme="{StaticResource TitleTextBlock}" />
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Button Classes="Primary">主要按钮</Button>
|
||||
<Button Classes="Secondary">次要按钮</Button>
|
||||
<Button Classes="Tertiary">第三按钮</Button>
|
||||
<Button Classes="Warning">警告按钮</Button>
|
||||
<Button Classes="Danger">危险按钮</Button>
|
||||
<Button Classes="Primary" IsEnabled="False">禁用按钮</Button>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Button Classes="Primary" Theme="{DynamicResource SolidButton}">Primary</Button>
|
||||
<Button Classes="Secondary" Theme="{DynamicResource SolidButton}">Secondary</Button>
|
||||
<Button Classes="Tertiary" Theme="{DynamicResource SolidButton}">Tertiary</Button>
|
||||
<Button Classes="Warning" Theme="{DynamicResource SolidButton}">Warning</Button>
|
||||
<Button Classes="Danger" Theme="{DynamicResource SolidButton}">Danger</Button>
|
||||
<Button
|
||||
Classes="Primary"
|
||||
IsEnabled="False"
|
||||
Theme="{DynamicResource SolidButton}">
|
||||
Danger
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Label Theme="{StaticResource TagLabel}">Label</Label>
|
||||
<Label Classes="Large" Theme="{StaticResource TagLabel}">Large Label</Label>
|
||||
<Label Classes="Circle" Theme="{StaticResource TagLabel}">Circle Label</Label>
|
||||
<Label Classes="Large Circle" Theme="{StaticResource TagLabel}">Large Circle Label</Label>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<Label Classes="Blue" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
<Label Classes="Ghost Blue" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
<Label Classes="Solid Blue" Theme="{StaticResource TagLabel}">Indigo</Label>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel
|
||||
Margin="0,0,16,0"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<RadioButton Margin="0,0,8,0">Option 1</RadioButton>
|
||||
<RadioButton>Option 2</RadioButton>
|
||||
</StackPanel>
|
||||
<Border VerticalAlignment="Center" Theme="{StaticResource RadioButtonGroupBorder}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton IsChecked="True" Theme="{StaticResource ButtonRadioButton}">选项 1</RadioButton>
|
||||
<RadioButton Theme="{StaticResource ButtonRadioButton}">选项 2</RadioButton>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Margin="4" Theme="{StaticResource CardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">Option 1</TextBlock>
|
||||
<TextBlock Classes="Tertiary">Description 1</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
<RadioButton
|
||||
Margin="4"
|
||||
IsChecked="True"
|
||||
Theme="{StaticResource CardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">Option 2</TextBlock>
|
||||
<TextBlock Classes="Tertiary">Description 2</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Margin="0,0,8,0">Avalonia</CheckBox>
|
||||
<CheckBox Margin="0,0,8,0" IsChecked="True">WPF</CheckBox>
|
||||
<CheckBox IsChecked="{x:Null}" IsThreeState="True">UWP</CheckBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ToggleSwitch
|
||||
Content="Content"
|
||||
OffContent="No"
|
||||
OnContent="Yes" />
|
||||
</StackPanel>
|
||||
<TabControl>
|
||||
<TabItem Header="Tab 1">
|
||||
<TextBlock Margin="8">Tab Content 1</TextBlock>
|
||||
</TabItem>
|
||||
<TabItem Header="Tab 2">
|
||||
<TextBlock Margin="8">Tab Content 2</TextBlock>
|
||||
</TabItem>
|
||||
<TabItem Header="Tab 3">
|
||||
<TextBlock Margin="8">Tab Content 3</TextBlock>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<ComboBox Width="200" PlaceholderText="Please Select" />
|
||||
|
||||
</StackPanel>
|
||||
<Grid ColumnDefinitions="* * *">
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Card</TextBlock>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Column="1"
|
||||
Classes="Hover"
|
||||
Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Shadow on hover</TextBlock>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Column="2"
|
||||
Classes="Shadow"
|
||||
Theme="{StaticResource CardBorder}">
|
||||
<TextBlock>Shadow</TextBlock>
|
||||
</Border>
|
||||
</Grid>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<TextBox
|
||||
Width="200"
|
||||
InnerLeftContent="http://"
|
||||
InnerRightContent=".com" />
|
||||
<TextBox
|
||||
Width="200"
|
||||
Classes="revealPasswordButton"
|
||||
PasswordChar="*"
|
||||
Text="Avalonia" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<TreeView>
|
||||
<TreeViewItem Header="Level 1" IsExpanded="True">
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2" IsExpanded="True">
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
</TreeViewItem>
|
||||
</TreeViewItem>
|
||||
</TreeView>
|
||||
<ListBox SelectedIndex="3">
|
||||
<TextBlock>List Item 1</TextBlock>
|
||||
<TextBlock>List Item 2</TextBlock>
|
||||
<TextBlock>List Item 3</TextBlock>
|
||||
<TextBlock>List Item 4</TextBlock>
|
||||
<TextBlock>List Item 5</TextBlock>
|
||||
</ListBox>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/Overview.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/Overview.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class Overview : UserControl
|
||||
{
|
||||
public Overview()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
123
demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml
Normal file
123
demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml
Normal file
@@ -0,0 +1,123 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ProgressBarDemo"
|
||||
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"
|
||||
d:DesignHeight="800"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel
|
||||
Margin="20"
|
||||
HorizontalAlignment="Left"
|
||||
Spacing="20">
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
IsIndeterminate="True"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Left"
|
||||
IsIndeterminate="True"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Left"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Right"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<StackPanel
|
||||
HorizontalAlignment="Left"
|
||||
Orientation="Horizontal"
|
||||
Spacing="20">
|
||||
<ProgressBar
|
||||
Classes="Left"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Classes="Right"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
Classes="Left"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="False"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
IsIndeterminate="True"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="True"
|
||||
Value="20" />
|
||||
<ProgressBar
|
||||
IsIndeterminate="True"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Orientation="Vertical"
|
||||
ShowProgressText="False"
|
||||
Value="20" />
|
||||
</StackPanel>
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Success"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="60" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Warning"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="60" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Classes="Error"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="60" />
|
||||
<ProgressBar
|
||||
Width="200"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
ShowProgressText="True"
|
||||
Value="60" />
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
18
demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml.cs
Normal file
18
demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ProgressBarDemo : UserControl
|
||||
{
|
||||
public ProgressBarDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
76
demo/Semi.Avalonia.Demo/Pages/RadioButtonDemo.axaml
Normal file
76
demo/Semi.Avalonia.Demo/Pages/RadioButtonDemo.axaml
Normal file
@@ -0,0 +1,76 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.RadioButtonDemo" 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" mc:Ignorable="d">
|
||||
<StackPanel
|
||||
Margin="20" HorizontalAlignment="Left"
|
||||
Spacing="20">
|
||||
<TextBlock Text="Radio Buttons" />
|
||||
<StackPanel>
|
||||
<RadioButton>111</RadioButton>
|
||||
<RadioButton>222</RadioButton>
|
||||
<RadioButton>333</RadioButton>
|
||||
</StackPanel>
|
||||
<TextBlock Text="Radio Button as Button" />
|
||||
<Border HorizontalAlignment="Left" Theme="{StaticResource RadioButtonGroupBorder}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Classes="Small" Theme="{DynamicResource ButtonRadioButton}">小1</RadioButton>
|
||||
<RadioButton Classes="Small" Theme="{DynamicResource ButtonRadioButton}">小2</RadioButton>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border HorizontalAlignment="Left" Theme="{StaticResource RadioButtonGroupBorder}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Theme="{DynamicResource ButtonRadioButton}">默认1</RadioButton>
|
||||
<RadioButton Theme="{DynamicResource ButtonRadioButton}">默认2</RadioButton>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border HorizontalAlignment="Left" Theme="{StaticResource RadioButtonGroupBorder}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Classes="Large" Theme="{DynamicResource ButtonRadioButton}">大1</RadioButton>
|
||||
<RadioButton Classes="Large" Theme="{DynamicResource ButtonRadioButton}">大2</RadioButton>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<TextBlock Text="Radio Button as Card" />
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Width="300" Theme="{DynamicResource CardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
<RadioButton Width="300" Theme="{DynamicResource CardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
<RadioButton Width="300" Theme="{DynamicResource CardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
</StackPanel>
|
||||
<TextBlock Text="Radio Button as Pure Card" />
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton Width="300" Theme="{DynamicResource PureCardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
<RadioButton Width="300" Theme="{DynamicResource PureCardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
<RadioButton Width="300" Theme="{DynamicResource PureCardRadioButton}">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold">单选框标题</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统</TextBlock>
|
||||
</StackPanel>
|
||||
</RadioButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/RadioButtonDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/RadioButtonDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class RadioButtonDemo : UserControl
|
||||
{
|
||||
public RadioButtonDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
37
demo/Semi.Avalonia.Demo/Pages/RepeatButtonDemo.axaml
Normal file
37
demo/Semi.Avalonia.Demo/Pages/RepeatButtonDemo.axaml
Normal file
@@ -0,0 +1,37 @@
|
||||
<UserControl 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"
|
||||
mc:Ignorable="d" d:DesignWidth="800"
|
||||
d:DesignHeight="450"
|
||||
x:Class="Semi.Avalonia.Demo.Pages.RepeatButtonDemo">
|
||||
<StackPanel Margin="20" HorizontalAlignment="Left" Spacing="20">
|
||||
<TextBlock>Light (Default)</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<RepeatButton Classes="Primary">Primary</RepeatButton>
|
||||
<RepeatButton Classes="Secondary">Secondary</RepeatButton>
|
||||
<RepeatButton Classes="Tertiary">Tertiary</RepeatButton>
|
||||
<RepeatButton Classes="Warning">Warning</RepeatButton>
|
||||
<RepeatButton Classes="Danger">Danger</RepeatButton>
|
||||
<RepeatButton Classes="Primary" IsEnabled="False">Danger</RepeatButton>
|
||||
</StackPanel>
|
||||
<TextBlock>Solid</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<RepeatButton Classes="Primary" Theme="{DynamicResource SolidRepeatButton}">Primary</RepeatButton>
|
||||
<RepeatButton Classes="Secondary" Theme="{DynamicResource SolidRepeatButton}">Secondary</RepeatButton>
|
||||
<RepeatButton Classes="Tertiary" Theme="{DynamicResource SolidRepeatButton}">Tertiary</RepeatButton>
|
||||
<RepeatButton Classes="Warning" Theme="{DynamicResource SolidRepeatButton}">Warning</RepeatButton>
|
||||
<RepeatButton Classes="Danger" Theme="{DynamicResource SolidRepeatButton}">Danger</RepeatButton>
|
||||
<RepeatButton Classes="Primary" IsEnabled="False" Theme="{DynamicResource SolidRepeatButton}">Danger</RepeatButton>
|
||||
</StackPanel>
|
||||
<TextBlock>Borderless</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<RepeatButton Classes="Primary" Theme="{DynamicResource BorderlessRepeatButton}">Primary</RepeatButton>
|
||||
<RepeatButton Classes="Secondary" Theme="{DynamicResource BorderlessRepeatButton}">Secondary</RepeatButton>
|
||||
<RepeatButton Classes="Tertiary" Theme="{DynamicResource BorderlessRepeatButton}">Tertiary</RepeatButton>
|
||||
<RepeatButton Classes="Warning" Theme="{DynamicResource BorderlessRepeatButton}">Warning</RepeatButton>
|
||||
<RepeatButton Classes="Danger" Theme="{DynamicResource BorderlessRepeatButton}">Danger</RepeatButton>
|
||||
<RepeatButton Classes="Primary" IsEnabled="False" Theme="{DynamicResource BorderlessRepeatButton}">Danger</RepeatButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/RepeatButtonDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/RepeatButtonDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class RepeatButtonDemo : UserControl
|
||||
{
|
||||
public RepeatButtonDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
52
demo/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml
Normal file
52
demo/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml
Normal file
@@ -0,0 +1,52 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.TabControlDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel>
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TabControl TabStripPlacement="Top">
|
||||
<TabItem Content="Hello 1" Header="Tab 1" />
|
||||
<TabItem Content="Hello 2" Header="Tab 2" />
|
||||
<TabItem Content="Hello 3" Header="Tab 3" />
|
||||
<TabItem Content="中文内容" Header="中文中文" />
|
||||
<TabItem
|
||||
Content="Hello 4" Header="Tab 4"
|
||||
IsEnabled="False" />
|
||||
</TabControl>
|
||||
</Border>
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TabControl TabStripPlacement="Left">
|
||||
<TabItem Content="Hello 1" Header="Tab 1" />
|
||||
<TabItem Content="Hello 2" Header="Tab 2" />
|
||||
<TabItem Content="Hello 3" Header="Tab 3" />
|
||||
<TabItem Content="中文内容" Header="中文中文" />
|
||||
<TabItem
|
||||
Content="Hello 4" Header="Tab 4"
|
||||
IsEnabled="False" />
|
||||
</TabControl>
|
||||
</Border>
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TabControl TabStripPlacement="Right">
|
||||
<TabItem Content="Hello 1" Header="Tab 1" />
|
||||
<TabItem Content="Hello 2" Header="Tab 2" />
|
||||
<TabItem Content="Hello 3" Header="Tab 3" />
|
||||
<TabItem Content="中文内容" Header="中文中文" />
|
||||
<TabItem
|
||||
Content="Hello 4" Header="Tab 4"
|
||||
IsEnabled="False" />
|
||||
</TabControl>
|
||||
</Border>
|
||||
<Border Theme="{StaticResource CardBorder}">
|
||||
<TabControl TabStripPlacement="Bottom">
|
||||
<TabItem Content="Hello 1" Header="Tab 1" />
|
||||
<TabItem Content="Hello 2" Header="Tab 2" />
|
||||
<TabItem Content="Hello 3" Header="Tab 3" />
|
||||
<TabItem Content="中文内容" Header="中文中文" />
|
||||
<TabItem
|
||||
Content="Hello 4" Header="Tab 4"
|
||||
IsEnabled="False" />
|
||||
</TabControl>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class TabControlDemo : UserControl
|
||||
{
|
||||
public TabControlDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
76
demo/Semi.Avalonia.Demo/Pages/TextBlockDemo.axaml
Normal file
76
demo/Semi.Avalonia.Demo/Pages/TextBlockDemo.axaml
Normal file
@@ -0,0 +1,76 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.TextBlockDemo" 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" d:DesignHeight="600"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel
|
||||
Margin="20" HorizontalAlignment="Left"
|
||||
Spacing="5">
|
||||
<TextBlock>Styles for TextBlock</TextBlock>
|
||||
<TextBlock Classes="H1" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
<TextBlock Classes="H2" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
<TextBlock Classes="H3" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
<TextBlock Classes="H4" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
<TextBlock Classes="H5" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
<TextBlock Classes="H6" Theme="{StaticResource TitleTextBlock}">Header 1</TextBlock>
|
||||
|
||||
<TextBlock>Text</TextBlock>
|
||||
<TextBlock Classes="Secondary">Secondary</TextBlock>
|
||||
<TextBlock Classes="Tertiary">Tertiary</TextBlock>
|
||||
<TextBlock Classes="Quaternary">Quaternary</TextBlock>
|
||||
<TextBlock Classes="Warning">Warning</TextBlock>
|
||||
<TextBlock Classes="Danger">Danger</TextBlock>
|
||||
<TextBlock Classes="Success">Success</TextBlock>
|
||||
<TextBlock IsEnabled="False">Disabled</TextBlock>
|
||||
<TextBlock Classes="Mark">Default Mark</TextBlock>
|
||||
<TextBlock Classes="Underline">Underline</TextBlock>
|
||||
<TextBlock Classes="Delete">Delete</TextBlock>
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
Margin="20" HorizontalAlignment="Left"
|
||||
Spacing="5">
|
||||
<TextBlock>Styles for SelectableTextBlock</TextBlock>
|
||||
<SelectableTextBlock Classes="H1" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="H2" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="H3" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="H4" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="H5" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="H6" Theme="{StaticResource TitleSelectableTextBlock}">Header 1</SelectableTextBlock>
|
||||
|
||||
<SelectableTextBlock>Text</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Secondary">Secondary</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Tertiary">Tertiary</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Quaternary">Quaternary</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Warning">Warning</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Danger">Danger</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Success">Success</SelectableTextBlock>
|
||||
<SelectableTextBlock IsEnabled="False">Disabled</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Mark">Default Mark</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Underline">Underline</SelectableTextBlock>
|
||||
<SelectableTextBlock Classes="Delete">Delete</SelectableTextBlock>
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
Margin="20" HorizontalAlignment="Left"
|
||||
Spacing="5">
|
||||
<TextBlock>Styles for Label</TextBlock>
|
||||
<Label Classes="H1" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
<Label Classes="H2" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
<Label Classes="H3" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
<Label Classes="H4" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
<Label Classes="H5" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
<Label Classes="H6" Theme="{StaticResource TitleLabel}">Header 1</Label>
|
||||
|
||||
<Label>Text</Label>
|
||||
<Label Classes="Secondary">Secondary</Label>
|
||||
<Label Classes="Tertiary">Tertiary</Label>
|
||||
<Label Classes="Quaternary">Quaternary</Label>
|
||||
<Label Classes="Warning">Warning</Label>
|
||||
<Label Classes="Danger">Danger</Label>
|
||||
<Label Classes="Success">Success</Label>
|
||||
<Label IsEnabled="False">Disabled</Label>
|
||||
<Label Classes="Mark">Default Mark</Label>
|
||||
<Label Classes="Code">Example Code</Label>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/TextBlockDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/TextBlockDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class TextBlockDemo : UserControl
|
||||
{
|
||||
public TextBlockDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
26
demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml
Normal file
26
demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml
Normal file
@@ -0,0 +1,26 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.TextBoxDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<ScrollViewer>
|
||||
<StackPanel HorizontalAlignment="Left" Spacing="20">
|
||||
<TextBox Width="300" />
|
||||
<TextBox Width="300" Watermark="Please use this" />
|
||||
<TextBox Width="300" InnerLeftContent="http://" />
|
||||
<TextBox Width="300" InnerRightContent=".com" />
|
||||
<TextBox
|
||||
Width="500" InnerLeftContent="http://"
|
||||
InnerRightContent=".com" />
|
||||
<TextBox Width="300" Classes="clearButton" />
|
||||
<TextBox Width="300" PasswordChar="*" />
|
||||
<TextBox
|
||||
Width="300" Classes="revealPasswordButton"
|
||||
PasswordChar="*" />
|
||||
<TextBox
|
||||
Width="500" InnerLeftContent="http://"
|
||||
InnerRightContent=".com"
|
||||
Theme="{StaticResource BorderlessTextBox}" />
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class TextBoxDemo : UserControl
|
||||
{
|
||||
public TextBoxDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
29
demo/Semi.Avalonia.Demo/Pages/ToggleButtonDemo.axaml
Normal file
29
demo/Semi.Avalonia.Demo/Pages/ToggleButtonDemo.axaml
Normal file
@@ -0,0 +1,29 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ToggleButtonDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel Margin="20">
|
||||
<TextBlock Text="Toggle Button" />
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<ToggleButton>Primary</ToggleButton>
|
||||
<ToggleButton Classes="Secondary">Secondary</ToggleButton>
|
||||
<ToggleButton Classes="Tertiary">Tertiary</ToggleButton>
|
||||
<ToggleButton Classes="Warning">Warning</ToggleButton>
|
||||
<ToggleButton Classes="Error">Error</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Margin="0,20,0,0" Text="Toggle Button Three State" />
|
||||
<StackPanel Orientation="Horizontal" Spacing="20">
|
||||
<ToggleButton Name="button" IsThreeState="True">Primary</ToggleButton>
|
||||
<ToggleButton Classes="Secondary" IsThreeState="True">Secondary</ToggleButton>
|
||||
<ToggleButton Classes="Tertiary" IsThreeState="True">Tertiary</ToggleButton>
|
||||
<ToggleButton Classes="Warning" IsThreeState="True">Warning</ToggleButton>
|
||||
<ToggleButton Classes="Error" IsThreeState="True">Error</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
18
demo/Semi.Avalonia.Demo/Pages/ToggleButtonDemo.axaml.cs
Normal file
18
demo/Semi.Avalonia.Demo/Pages/ToggleButtonDemo.axaml.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ToggleButtonDemo : UserControl
|
||||
{
|
||||
public ToggleButtonDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
28
demo/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml
Normal file
28
demo/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml
Normal file
@@ -0,0 +1,28 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.ToggleSwitchDemo"
|
||||
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"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<StackPanel Margin="20" Spacing="20">
|
||||
<ToggleSwitch
|
||||
Content="Content"
|
||||
OffContent="OffContent"
|
||||
OnContent="OnContent" />
|
||||
<ToggleSwitch
|
||||
Content="Content"
|
||||
IsChecked="True"
|
||||
IsEnabled="False"
|
||||
OffContent="OffContent"
|
||||
OnContent="OnContent" />
|
||||
<ToggleSwitch
|
||||
Content="Content"
|
||||
IsChecked="False"
|
||||
IsEnabled="False"
|
||||
OffContent="OffContent"
|
||||
OnContent="OnContent" />
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
18
demo/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml.cs
Normal file
18
demo/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class ToggleSwitchDemo : UserControl
|
||||
{
|
||||
public ToggleSwitchDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
42
demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
Normal file
42
demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
Normal file
@@ -0,0 +1,42 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Pages.TreeViewDemo" 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" d:DesignHeight="450"
|
||||
d:DesignWidth="800" mc:Ignorable="d">
|
||||
<Panel>
|
||||
<TreeView>
|
||||
<TreeViewItem Header="Level 1">
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2" />
|
||||
<TreeViewItem Header="Level 2">
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem>
|
||||
<TreeViewItem.Header>
|
||||
<StackPanel>
|
||||
<TextBlock>Layer 1</TextBlock>
|
||||
<TextBlock>Layer 2</TextBlock>
|
||||
<TextBlock>Layer 3</TextBlock>
|
||||
</StackPanel>
|
||||
</TreeViewItem.Header>
|
||||
<TreeViewItem Header="Level 4" />
|
||||
<TreeViewItem Header="Level 4" />
|
||||
<TreeViewItem Header="Level 4" />
|
||||
<TreeViewItem Header="Level 4" />
|
||||
<TreeViewItem Header="Level 4" />
|
||||
<TreeViewItem Header="Level 4" />
|
||||
</TreeViewItem>
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
<TreeViewItem Header="Level 3" />
|
||||
</TreeViewItem>
|
||||
</TreeViewItem>
|
||||
</TreeView>
|
||||
</Panel>
|
||||
</UserControl>
|
||||
13
demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
Normal file
13
demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class TreeViewDemo : UserControl
|
||||
{
|
||||
public TreeViewDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
5
demo/Semi.Avalonia.Demo/Roots.xml
Normal file
5
demo/Semi.Avalonia.Demo/Roots.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<linker>
|
||||
<!-- Can be removed if CompiledBinding and no reflection are used -->
|
||||
<assembly fullname="Semi.Avalonia.Demo" preserve="All" />
|
||||
<assembly fullname="Avalonia.Themes.Fluent" preserve="All" />
|
||||
</linker>
|
||||
51
demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
Normal file
51
demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
Normal file
@@ -0,0 +1,51 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Include="Assets\**" />
|
||||
<TrimmerRootDescriptor Include="Roots.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="11.0.0-preview4" />
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0" />
|
||||
<PackageReference Include="XamlNameReferenceGenerator" Version="1.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalFiles Include="Pages\AutoCompleteBoxDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\BorderDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ButtonDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\CheckBoxDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ComboBoxDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ExpanderDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\FlyoutDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\LabelDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ListBoxDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\NotificationDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\Overview.axaml" />
|
||||
<AdditionalFiles Include="Pages\ProgressBarDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\RadioButtonDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\RepeatButtonDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\TabControlDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\TextBlockDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\TextBoxDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ToggleButtonDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\ToggleSwitchDemo.axaml" />
|
||||
<AdditionalFiles Include="Pages\TreeViewDemo.axaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="ViewModels" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
76
demo/Semi.Avalonia.Demo/Views/MainView.axaml
Normal file
76
demo/Semi.Avalonia.Demo/Views/MainView.axaml
Normal file
@@ -0,0 +1,76 @@
|
||||
<UserControl
|
||||
x:Class="Semi.Avalonia.Demo.Views.MainView"
|
||||
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:pages="using:Semi.Avalonia.Demo.Pages"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<TabControl
|
||||
Margin="8"
|
||||
HorizontalAlignment="Stretch"
|
||||
TabStripPlacement="Left">
|
||||
<TabItem Header="Overview">
|
||||
<pages:Overview />
|
||||
</TabItem>
|
||||
<TabItem Header="AutoCompleteBox">
|
||||
<pages:AutoCompleteBoxDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Border">
|
||||
<pages:BorderDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Button">
|
||||
<pages:ButtonDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="CheckBox">
|
||||
<pages:CheckBoxDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ComboBox">
|
||||
<pages:ComboBoxDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Expander">
|
||||
<pages:ExpanderDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Flyout">
|
||||
<pages:FlyoutDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Label">
|
||||
<pages:LabelDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ListBox">
|
||||
<pages:ListBoxDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Notification">
|
||||
<pages:NotificationDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ProgressBar">
|
||||
<pages:ProgressBarDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="RadioButton">
|
||||
<pages:RadioButtonDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="RepeatButton">
|
||||
<pages:RepeatButtonDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="TabControl">
|
||||
<pages:TabControlDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="TextBlock">
|
||||
<pages:TextBlockDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="TextBox">
|
||||
<pages:TextBoxDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ToggleButton">
|
||||
<pages:ToggleButtonDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="ToggleSwitch">
|
||||
<pages:ToggleSwitchDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="TreeView">
|
||||
<pages:TreeViewDemo />
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</UserControl>
|
||||
11
demo/Semi.Avalonia.Demo/Views/MainView.axaml.cs
Normal file
11
demo/Semi.Avalonia.Demo/Views/MainView.axaml.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Views;
|
||||
|
||||
public partial class MainView : UserControl
|
||||
{
|
||||
public MainView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
14
demo/Semi.Avalonia.Demo/Views/MainWindow.axaml
Normal file
14
demo/Semi.Avalonia.Demo/Views/MainWindow.axaml
Normal file
@@ -0,0 +1,14 @@
|
||||
<Window
|
||||
x:Class="Semi.Avalonia.Demo.Views.MainWindow"
|
||||
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:views="clr-namespace:Semi.Avalonia.Demo.Views"
|
||||
Title="Semi.Avalonia.Demo"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
Icon="/Assets/avalonia-logo.ico"
|
||||
mc:Ignorable="d">
|
||||
<views:MainView />
|
||||
</Window>
|
||||
23
demo/Semi.Avalonia.Demo/Views/MainWindow.axaml.cs
Normal file
23
demo/Semi.Avalonia.Demo/Views/MainWindow.axaml.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Notifications;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Views;
|
||||
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private readonly WindowNotificationManager _manager;
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
_manager = new WindowNotificationManager(this)
|
||||
{
|
||||
Position = NotificationPosition.TopLeft,
|
||||
MaxItems = 3
|
||||
};
|
||||
}
|
||||
|
||||
internal void Notify(NotificationType t)
|
||||
{
|
||||
_manager.Show(new Notification(t.ToString(), "This is a notification message", t));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user