misc: simplify EnumSelectorDemoViewModel.

This commit is contained in:
Zhang Dian
2025-05-19 20:08:50 +08:00
parent fd27a7d429
commit 2edfdee5df
2 changed files with 24 additions and 46 deletions

View File

@@ -26,7 +26,7 @@
EnumType="{Binding SelectedType}" EnumType="{Binding SelectedType}"
Value="{Binding Value}" /> Value="{Binding Value}" />
<TextBlock Text="{Binding Value}" /> <TextBlock Text="{Binding Value}" />
<u:Divider Content="Small Size"></u:Divider> <u:Divider Content="Small Size" />
<u:EnumSelector <u:EnumSelector
Width="200" Width="200"
Classes="Small" Classes="Small"

View File

@@ -11,55 +11,33 @@ using CommunityToolkit.Mvvm.ComponentModel;
namespace Ursa.Demo.ViewModels; namespace Ursa.Demo.ViewModels;
public class EnumSelectorDemoViewModel: ObservableObject public partial class EnumSelectorDemoViewModel : ObservableObject
{ {
public ObservableCollection<Type?> Types { get; set; } [ObservableProperty] private Type? _selectedType;
[ObservableProperty] private object? _value;
private Type? _selectedType;
public Type? SelectedType
{
get => _selectedType;
set
{
SetProperty(ref _selectedType, value);
Value = null;
}
}
private object? _value; public ObservableCollection<Type?> Types { get; set; } =
public object? Value [
{ typeof(HorizontalAlignment),
get => _value; typeof(VerticalAlignment),
set => SetProperty(ref _value, value); typeof(Orientation),
} typeof(Dock),
typeof(GridResizeDirection),
public EnumSelectorDemoViewModel() typeof(DayOfWeek),
{ typeof(FillMode),
Types = new ObservableCollection<Type?>() typeof(IterationType),
{ typeof(BindingMode),
typeof(HorizontalAlignment), typeof(BindingPriority),
typeof(VerticalAlignment), typeof(StandardCursorType),
typeof(Orientation), typeof(Key),
typeof(Dock), typeof(KeyModifiers),
typeof(GridResizeDirection), typeof(RoutingStrategies),
typeof(DayOfWeek), typeof(CustomEnum)
typeof(FillMode), ];
typeof(IterationType),
typeof(BindingMode),
typeof(BindingPriority),
typeof(StandardCursorType),
typeof(Key),
typeof(KeyModifiers),
typeof(RoutingStrategies),
typeof(CustomEnum),
};
}
} }
public enum CustomEnum public enum CustomEnum
{ {
[Description("是")] [Description("是")] Yes,
Yes, [Description("否")] No,
[Description("否")]
No,
} }