feat: try to use grid as panel.
This commit is contained in:
@@ -19,6 +19,7 @@ public static class MenuKeys
|
||||
public const string MenuKeyLoading = "Loading";
|
||||
public const string MenuKeyMessageBox = "MessageBox";
|
||||
public const string MenuKeyNavigation = "Navigation";
|
||||
public const string MenuKeyNavMenu = "NavMenu";
|
||||
public const string MenuKeyNumericUpDown = "NumericUpDown";
|
||||
public const string MenuKeyPagination = "Pagination";
|
||||
public const string MenuKeyRangeSlider = "RangeSlider";
|
||||
|
||||
25
demo/Ursa.Demo/Pages/NavMenuDemo.axaml
Normal file
25
demo/Ursa.Demo/Pages/NavMenuDemo.axaml
Normal file
@@ -0,0 +1,25 @@
|
||||
<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"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Ursa.Demo.Pages.NavMenuDemo">
|
||||
<u:NavMenu>
|
||||
<u:NavMenuItem Header="Menu 1">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="10" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
<u:NavMenuItem Header="Menu 2">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="20" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
<u:NavMenuItem Header="Menu 3">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="30" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
</u:NavMenu>
|
||||
</UserControl>
|
||||
13
demo/Ursa.Demo/Pages/NavMenuDemo.axaml.cs
Normal file
13
demo/Ursa.Demo/Pages/NavMenuDemo.axaml.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Ursa.Demo.Pages;
|
||||
|
||||
public partial class NavMenuDemo : UserControl
|
||||
{
|
||||
public NavMenuDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -51,22 +51,5 @@
|
||||
</u:SelectionList.ItemTemplate>
|
||||
</u:SelectionList>
|
||||
<Button Command="{Binding Clear}">Clear</Button>
|
||||
<u:NavMenu>
|
||||
<u:NavMenuItem Header="Menu 1">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="10" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
<u:NavMenuItem Header="Menu 2">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="20" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
<u:NavMenuItem Header="Menu 3">
|
||||
<u:NavMenuItem.Icon>
|
||||
<Rectangle Width="30" Height="10" Fill="Red"></Rectangle>
|
||||
</u:NavMenuItem.Icon>
|
||||
</u:NavMenuItem>
|
||||
</u:NavMenu>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
|
||||
@@ -41,6 +41,7 @@ public class MainViewViewModel : ViewModelBase
|
||||
MenuKeys.MenuKeyLoading => new LoadingDemoViewModel(),
|
||||
MenuKeys.MenuKeyMessageBox => new MessageBoxDemoViewModel(),
|
||||
MenuKeys.MenuKeyNavigation => new NavigationMenuDemoViewModel(),
|
||||
MenuKeys.MenuKeyNavMenu => new NavMenuDemoViewModel(),
|
||||
MenuKeys.MenuKeyNumericUpDown => new NumericUpDownDemoViewModel(),
|
||||
MenuKeys.MenuKeyPagination => new PaginationDemoViewModel(),
|
||||
MenuKeys.MenuKeyRangeSlider => new RangeSliderDemoViewModel(),
|
||||
|
||||
@@ -28,6 +28,7 @@ public class MenuViewModel: ViewModelBase
|
||||
new() { MenuHeader = "Loading", Key = MenuKeys.MenuKeyLoading },
|
||||
new() { MenuHeader = "Message Box", Key = MenuKeys.MenuKeyMessageBox, Status = "New" },
|
||||
new() { MenuHeader = "Navigation", Key = MenuKeys.MenuKeyNavigation, Status = "WIP" },
|
||||
new() { MenuHeader = "Nav Menu", Key = MenuKeys.MenuKeyNavMenu, Status = "WIP"},
|
||||
new() { MenuHeader = "NumericUpDown", Key = MenuKeys.MenuKeyNumericUpDown, Status = "New" },
|
||||
new() { MenuHeader = "Pagination", Key = MenuKeys.MenuKeyPagination },
|
||||
new() { MenuHeader = "RangeSlider", Key = MenuKeys.MenuKeyRangeSlider, Status = "New"},
|
||||
|
||||
8
demo/Ursa.Demo/ViewModels/NavMenuDemoViewModel.cs
Normal file
8
demo/Ursa.Demo/ViewModels/NavMenuDemoViewModel.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
|
||||
namespace Ursa.Demo.ViewModels;
|
||||
|
||||
public class NavMenuDemoViewModel: ObservableObject
|
||||
{
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
xmlns:u="https://irihi.tech/ursa">
|
||||
<!-- Add Resources Here -->
|
||||
<ControlTheme TargetType="u:NavMenu" x:Key="{x:Type u:NavMenu}">
|
||||
<Setter Property="Grid.IsSharedSizeScope" Value="True"></Setter>
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="u:NavMenu">
|
||||
<ItemsPresenter ItemsPanel="{TemplateBinding ItemsPanel}" Grid.IsSharedSizeScope="True"/>
|
||||
@@ -20,7 +21,7 @@
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="Icon" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ContentPresenter Content="{TemplateBinding Icon}" />
|
||||
<ContentPresenter Content="{TemplateBinding Icon}" HorizontalAlignment="Left" />
|
||||
<ContentPresenter Grid.Column="1" Content="{TemplateBinding Header}" />
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
|
||||
Reference in New Issue
Block a user