feat: initialize and setup demo.

This commit is contained in:
rabbitism
2024-01-25 18:54:24 +08:00
parent f4baf18c87
commit d1bb258b28
9 changed files with 171 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
using System;
using System.Collections.ObjectModel;
using Avalonia.Animation;
using Avalonia.Controls;
using Avalonia.Data;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Layout;
using CommunityToolkit.Mvvm.ComponentModel;
namespace Ursa.Demo.ViewModels;
public class EnumSelectorDemoViewModel: ObservableObject
{
public ObservableCollection<Type?> Types { get; set; }
private Type? _selectedType;
public Type? SelectedType
{
get => _selectedType;
set
{
SetProperty(ref _selectedType, value);
Value = null;
}
}
private object? _value;
public object? Value
{
get => _value;
set => SetProperty(ref _value, value);
}
public EnumSelectorDemoViewModel()
{
Types = new ObservableCollection<Type?>()
{
typeof(HorizontalAlignment),
typeof(VerticalAlignment),
typeof(Orientation),
typeof(Dock),
typeof(GridResizeDirection),
typeof(DayOfWeek),
typeof(FillMode),
typeof(IterationType),
typeof(BindingMode),
typeof(BindingPriority),
typeof(StandardCursorType),
typeof(Key),
typeof(KeyModifiers),
typeof(RoutingStrategies),
};
}
}

View File

@@ -30,6 +30,7 @@ public class MainViewViewModel : ViewModelBase
MenuKeys.MenuKeyButtonGroup => new ButtonGroupDemoViewModel(),
MenuKeys.MenuKeyDivider => new DividerDemoViewModel(),
MenuKeys.MenuKeyDualBadge => new DualBadgeDemoViewModel(),
MenuKeys.MenuKeyEnumSelector => new EnumSelectorDemoViewModel(),
MenuKeys.MenuKeyImageViewer => new ImageViewerDemoViewModel(),
MenuKeys.MenuKeyIconButton => new IconButtonDemoViewModel(),
MenuKeys.MenuKeyIpBox => new IPv4BoxDemoViewModel(),

View File

@@ -17,6 +17,7 @@ public class MenuViewModel: ViewModelBase
new() { MenuHeader = "ButtonGroup", Key = MenuKeys.MenuKeyButtonGroup },
new() { MenuHeader = "Divider", Key = MenuKeys.MenuKeyDivider },
new() { MenuHeader = "DualBadge", Key = MenuKeys.MenuKeyDualBadge },
new() { MenuHeader = "Enum Selector", Key = MenuKeys.MenuKeyEnumSelector },
new() { MenuHeader = "IconButton", Key = MenuKeys.MenuKeyIconButton },
new() { MenuHeader = "ImageViewer", Key = MenuKeys.MenuKeyImageViewer },
new() { MenuHeader = "IPv4Box", Key = MenuKeys.MenuKeyIpBox },