feat: simplify container generation, and add vertical demo.

This commit is contained in:
rabbitism
2024-02-23 16:26:09 +08:00
parent 39b7424cf5
commit 1ccb395ab0
8 changed files with 185 additions and 85 deletions

View File

@@ -1,24 +1,43 @@
<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"
xmlns:u="https://irihi.tech/ursa"
xmlns:vm="using:Ursa.Demo.ViewModels"
xmlns:template="using:Ursa.Demo.Converters"
x:DataType="vm:ToolBarDemoViewModel"
x:CompileBindings="True"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Ursa.Demo.Pages.ToolBarDemo">
<StackPanel>
<u:ToolBar HorizontalAlignment="Left" Header="Hello World">
<Button Content="Button 1" />
<Button Content="Button 2" u:ToolBar.OverflowMode="AsNeeded" />
<Button Content="Button 3" u:ToolBar.OverflowMode="Always" />
<UserControl
x:Class="Ursa.Demo.Pages.ToolBarDemo"
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:template="using:Ursa.Demo.Converters"
xmlns:u="https://irihi.tech/ursa"
xmlns:vm="using:Ursa.Demo.ViewModels"
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:ToolBarDemoViewModel"
mc:Ignorable="d">
<DockPanel>
<u:ToolBar
HorizontalAlignment="Left"
DockPanel.Dock="Top"
Header="Hello World">
<Button Content="Button 1" u:ToolBar.OverflowMode="Never" />
<Button u:ToolBar.OverflowMode="AsNeeded" Content="Button 2" />
<Button u:ToolBar.OverflowMode="AsNeeded" Content="Button 3" />
</u:ToolBar>
<u:ToolBar ItemsSource="{Binding Items}" HorizontalAlignment="Left">
<u:ToolBar
HorizontalAlignment="Left"
DockPanel.Dock="Top"
ItemsSource="{Binding Items}">
<u:ToolBar.ItemTemplate>
<template:ToolBarItemTemplateSelector/>
<template:ToolBarItemTemplateSelector />
</u:ToolBar.ItemTemplate>
</u:ToolBar>
</StackPanel>
<u:ToolBar
HorizontalAlignment="Left"
VerticalAlignment="Top"
DockPanel.Dock="Top"
ItemsSource="{Binding Items}"
Orientation="Vertical">
<u:ToolBar.ItemTemplate>
<template:ToolBarItemTemplateSelector />
</u:ToolBar.ItemTemplate>
</u:ToolBar>
</DockPanel>
</UserControl>

View File

@@ -15,7 +15,14 @@ public partial class ToolBarDemoViewModel: ObservableObject
{
new ToolBarButtonItemViewModel() { Content = "New", OverflowMode = OverflowMode.AsNeeded},
new ToolBarButtonItemViewModel() { Content = "Open" },
new ToolBarButtonItemViewModel() { Content = "Save" },
new ToolBarButtonItemViewModel() { Content = "Save1" },
new ToolBarButtonItemViewModel() { Content = "Save2" },
new ToolBarButtonItemViewModel() { Content = "Save3" },
new ToolBarButtonItemViewModel() { Content = "Save4" },
new ToolBarButtonItemViewModel() { Content = "Save5" },
new ToolBarButtonItemViewModel() { Content = "Save6" },
new ToolBarButtonItemViewModel() { Content = "Save7" },
new ToolBarButtonItemViewModel() { Content = "Save8" },
new ToolBarCheckBoxItemViweModel() { Content = "Bold" },
new ToolBarCheckBoxItemViweModel() { Content = "Italic", OverflowMode = OverflowMode.Never},
new ToolBarComboBoxItemViewModel() { Content = "Font Size", Items = new (){ "10", "12", "14" } }