feat: add default template.

This commit is contained in:
rabbitism
2024-01-10 22:38:50 +08:00
parent abb1bffaeb
commit 81d54d3b28
11 changed files with 117 additions and 5 deletions

View File

@@ -13,6 +13,7 @@ public static class MenuKeys
public const string MenuKeyIconButton = "IconButton";
public const string MenuKeyKeyGestureInput = "KeyGestureInput";
public const string MenuKeyLoading = "Loading";
public const string MenuKeyMessageBox = "MessageBox";
public const string MenuKeyNavigation = "Navigation";
public const string MenuKeyPagination = "Pagination";
public const string MenuKeyTagInput = "TagInput";

View File

@@ -0,0 +1,13 @@
<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"
xmlns:vm="using:Ursa.Demo.ViewModels"
x:DataType="vm:MessageBoxDemoViewModel"
x:CompileBindings="True"
x:Class="Ursa.Demo.Pages.MessageBoxDemo">
<StackPanel HorizontalAlignment="Left">
<Button Content="Default" Command="{Binding DefaultMessageBoxCommand}"></Button>
</StackPanel>
</UserControl>

View 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 MessageBoxDemo : UserControl
{
public MessageBoxDemo()
{
InitializeComponent();
this.DataContext = new MessageBoxDemoViewModel();
}
}

View File

@@ -35,6 +35,7 @@ public class MainViewViewModel : ViewModelBase
MenuKeys.MenuKeyIpBox => new IPv4BoxDemoViewModel(),
MenuKeys.MenuKeyKeyGestureInput => new KeyGestureInputDemoViewModel(),
MenuKeys.MenuKeyLoading => new LoadingDemoViewModel(),
MenuKeys.MenuKeyMessageBox => new MessageBoxDemoViewModel(),
MenuKeys.MenuKeyNavigation => new NavigationMenuDemoViewModel(),
MenuKeys.MenuKeyPagination => new PaginationDemoViewModel(),
MenuKeys.MenuKeyTagInput => new TagInputDemoViewModel(),

View File

@@ -22,6 +22,7 @@ public class MenuViewModel: ViewModelBase
new() { MenuHeader = "IPv4Box", Key = MenuKeys.MenuKeyIpBox },
new() { MenuHeader = "KeyGestureInput", Key = MenuKeys.MenuKeyKeyGestureInput },
new() { MenuHeader = "Loading", Key = MenuKeys.MenuKeyLoading },
new() { MenuHeader = "Message Box", Key = MenuKeys.MenuKeyMessageBox },
new() { MenuHeader = "Navigation", Key = MenuKeys.MenuKeyNavigation },
new() { MenuHeader = "Pagination", Key = MenuKeys.MenuKeyPagination },
new() { MenuHeader = "TagInput", Key = MenuKeys.MenuKeyTagInput },

View File

@@ -0,0 +1,22 @@
using System.Threading.Tasks;
using System.Windows.Input;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Ursa.Controls;
namespace Ursa.Demo.ViewModels;
public class MessageBoxDemoViewModel: ObservableObject
{
public ICommand DefaultMessageBoxCommand { get; set; }
public MessageBoxDemoViewModel()
{
DefaultMessageBoxCommand = new AsyncRelayCommand(OnDefaultMessageAsync);
}
private async Task OnDefaultMessageAsync()
{
await MessageBox.ShowAsync("Hello Message Box");
}
}

View File

@@ -10,6 +10,8 @@
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
ExtendClientAreaTitleBarHeightHint="48"
ExtendClientAreaToDecorationsHint="True"
x:DataType="viewModels:MainWindowViewModel"
Icon="/Assets/Ursa.ico"
mc:Ignorable="d">