67 lines
1.5 KiB
C#
67 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Windows.Input;
|
|
using Avalonia.Animation;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Data;
|
|
using Avalonia.Input;
|
|
using Avalonia.Interactivity;
|
|
using Avalonia.Layout;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
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),
|
|
typeof(CustomEnum),
|
|
};
|
|
}
|
|
}
|
|
|
|
public enum CustomEnum
|
|
{
|
|
[Description("是")]
|
|
Yes,
|
|
[Description("否")]
|
|
No,
|
|
} |