feat: add carousel, popup host, selectable textblock flyout, tabstrip, transitioning content control.

This commit is contained in:
rabbitism
2023-01-25 23:52:50 +08:00
parent c94dfb2948
commit 9934ea791e
11 changed files with 284 additions and 19 deletions

View File

@@ -0,0 +1,37 @@
<UserControl
x:Class="Semi.Avalonia.Demo.Pages.CarouselDemo"
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 Spacing="20">
<TextBlock Classes="Strong" Text="This is still WIP" />
<Grid
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ColumnDefinitions="Auto, *, Auto">
<RepeatButton
Name="Previous"
Grid.Column="0"
Content="Previous" />
<Carousel Name="carousel" Grid.Column="1">
<Carousel.PageTransition>
<PageSlide Orientation="Horizontal" Duration="0.25" />
</Carousel.PageTransition>
<TextBlock Text="Text 1" />
<TextBlock Text="Text 2" />
<TextBlock Text="Text 3" />
<TextBlock Text="Text 4" />
</Carousel>
<RepeatButton
Name="Next"
Grid.Column="2"
Content="Next" />
</Grid>
<TextBlock Text="{Binding #carousel.SelectedIndex}" />
</StackPanel>
</UserControl>

View File

@@ -0,0 +1,26 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
namespace Semi.Avalonia.Demo.Pages;
public partial class CarouselDemo : UserControl
{
public CarouselDemo()
{
InitializeComponent();
Previous.Click += OnPreviousClick;
Next.Click += OnNextClick;
}
private void OnPreviousClick(object sender, RoutedEventArgs args)
{
carousel.Previous();
}
private void OnNextClick(object sender, RoutedEventArgs args)
{
carousel.Next();
}
}

View File

@@ -1,8 +1,12 @@
<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">
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">
@@ -11,7 +15,8 @@
<TabItem Content="Hello 3" Header="Tab 3" />
<TabItem Content="中文内容" Header="中文中文" />
<TabItem
Content="Hello 4" Header="Tab 4"
Content="Hello 4"
Header="Tab 4"
IsEnabled="False" />
</TabControl>
</Border>
@@ -22,7 +27,8 @@
<TabItem Content="Hello 3" Header="Tab 3" />
<TabItem Content="中文内容" Header="中文中文" />
<TabItem
Content="Hello 4" Header="Tab 4"
Content="Hello 4"
Header="Tab 4"
IsEnabled="False" />
</TabControl>
</Border>
@@ -33,7 +39,8 @@
<TabItem Content="Hello 3" Header="Tab 3" />
<TabItem Content="中文内容" Header="中文中文" />
<TabItem
Content="Hello 4" Header="Tab 4"
Content="Hello 4"
Header="Tab 4"
IsEnabled="False" />
</TabControl>
</Border>
@@ -44,9 +51,16 @@
<TabItem Content="Hello 3" Header="Tab 3" />
<TabItem Content="中文内容" Header="中文中文" />
<TabItem
Content="Hello 4" Header="Tab 4"
Content="Hello 4"
Header="Tab 4"
IsEnabled="False" />
</TabControl>
</Border>
<Border Theme="{StaticResource CardBorder}">
<TabStrip>
<TabStripItem>Tab 1</TabStripItem>
<TabStripItem>Tab 2</TabStripItem>
</TabStrip>
</Border>
</StackPanel>
</UserControl>

View File

@@ -27,6 +27,9 @@
<TabItem Header="ButtonSpinner">
<pages:ButtonSpinnerDemo />
</TabItem>
<TabItem Header="Carousel">
<pages:CarouselDemo />
</TabItem>
<TabItem Header="CheckBox">
<pages:CheckBoxDemo />
</TabItem>