From f7dc4d356c79e3dfae25a241cac144f380034a03 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Mon, 29 Jul 2024 20:20:27 +0800
Subject: [PATCH] feat: remove EnumSelector in demo.
---
demo/Ursa.Demo/Pages/DialogDemo.axaml | 4 +--
demo/Ursa.Demo/Pages/DrawerDemo.axaml | 6 ++--
.../Pages/ElasticWrapPanelDemo.axaml | 12 +++----
demo/Ursa.Demo/Pages/FormDemo.axaml | 25 +++++++-------
demo/Ursa.Demo/Pages/IconButtonDemo.axaml | 21 +++++++-----
demo/Ursa.Demo/Pages/ToolBarDemo.axaml | 8 +++--
.../ViewModels/DialogDemoViewModel.cs | 19 +++++++++++
.../ViewModels/DrawerDemoViewModel.cs | 27 +++++++++++----
.../ElasticWrapPanelDemoViewModel.cs | 32 +++++++++++++++++-
.../Ursa.Demo/ViewModels/FormDemoViewModel.cs | 33 ++++++++++++++++---
.../ViewModels/IconButtonDemoViewModel.cs | 16 +++++++--
.../ViewModels/ToolBarDemoViewModel.cs | 30 +++++++++++------
12 files changed, 172 insertions(+), 61 deletions(-)
diff --git a/demo/Ursa.Demo/Pages/DialogDemo.axaml b/demo/Ursa.Demo/Pages/DialogDemo.axaml
index 8ff3534..6d5a8b6 100644
--- a/demo/Ursa.Demo/Pages/DialogDemo.axaml
+++ b/demo/Ursa.Demo/Pages/DialogDemo.axaml
@@ -52,11 +52,11 @@
OnContent="Yes" />
-
+
-
+
diff --git a/demo/Ursa.Demo/Pages/DrawerDemo.axaml b/demo/Ursa.Demo/Pages/DrawerDemo.axaml
index c613b4e..2429a65 100644
--- a/demo/Ursa.Demo/Pages/DrawerDemo.axaml
+++ b/demo/Ursa.Demo/Pages/DrawerDemo.axaml
@@ -16,7 +16,7 @@
-
+
-
+
@@ -49,7 +49,7 @@
-
+
-
@@ -30,13 +30,13 @@
Margin="4 0">
-
+
-
+
-
+
@@ -93,10 +93,10 @@
Value="{Binding ItemSelfHeight}" />
-
+
-
+
diff --git a/demo/Ursa.Demo/Pages/FormDemo.axaml b/demo/Ursa.Demo/Pages/FormDemo.axaml
index 5d63392..a5aeaee 100644
--- a/demo/Ursa.Demo/Pages/FormDemo.axaml
+++ b/demo/Ursa.Demo/Pages/FormDemo.axaml
@@ -2,7 +2,6 @@
x:Class="Ursa.Demo.Pages.FormDemo"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:common="clr-namespace:Ursa.Common;assembly=Ursa"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:u="https://irihi.tech/ursa"
@@ -15,21 +14,21 @@
-
-
-
-
+
+
+
+
@@ -14,14 +15,16 @@
-
+
@@ -83,7 +86,7 @@
Width="150"
Classes="Warning"
Content="GitHub"
- IconPlacement="{Binding #placement.Value}"
+ IconPlacement="{Binding #placement.SelectedValue}"
IsLoading="{Binding #loading.IsChecked}"
Theme="{DynamicResource SolidIconButton}">
diff --git a/demo/Ursa.Demo/Pages/ToolBarDemo.axaml b/demo/Ursa.Demo/Pages/ToolBarDemo.axaml
index c852b9c..a0b08c1 100644
--- a/demo/Ursa.Demo/Pages/ToolBarDemo.axaml
+++ b/demo/Ursa.Demo/Pages/ToolBarDemo.axaml
@@ -19,11 +19,13 @@
-
+
+ Orientation="{Binding #Orientation.SelectedValue}">
@@ -52,7 +54,7 @@
+ Orientation="{Binding #Orientation.SelectedValue}">
diff --git a/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs
index 4ccda87..46e6c86 100644
--- a/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs
@@ -27,6 +27,25 @@ public partial class DialogDemoViewModel: ObservableObject
[ObservableProperty] private DateTime? _date;
[ObservableProperty] private bool _fullScreen;
[ObservableProperty] private bool _showInTaskBar;
+
+ public ObservableCollection DialogButtons =>
+ [
+ DialogButton.None,
+ DialogButton.OK,
+ DialogButton.OKCancel,
+ DialogButton.YesNo,
+ DialogButton.YesNoCancel,
+ ];
+
+ public ObservableCollection DialogModes =>
+ [
+ DialogMode.Info,
+ DialogMode.Warning,
+ DialogMode.Error,
+ DialogMode.Question,
+ DialogMode.None,
+ DialogMode.Success,
+ ];
public DialogDemoViewModel()
{
diff --git a/demo/Ursa.Demo/ViewModels/DrawerDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/DrawerDemoViewModel.cs
index c438020..6692252 100644
--- a/demo/Ursa.Demo/ViewModels/DrawerDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/DrawerDemoViewModel.cs
@@ -2,7 +2,6 @@ using System;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using System.Windows.Input;
-using Avalonia.Controls;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Ursa.Common;
@@ -12,7 +11,7 @@ using Ursa.Demo.Dialogs;
namespace Ursa.Demo.ViewModels;
-public partial class DrawerDemoViewModel: ObservableObject
+public partial class DrawerDemoViewModel : ObservableObject
{
public ICommand ShowDialogCommand { get; set; }
public ICommand ShowCustomDialogCommand { get; set; }
@@ -25,8 +24,24 @@ public partial class DrawerDemoViewModel: ObservableObject
[ObservableProperty] private bool _result;
[ObservableProperty] private bool _isModal;
[ObservableProperty] private DateTime? _date;
-
-
+
+ public ObservableCollection Positions =>
+ [
+ Position.Left,
+ Position.Top,
+ Position.Right,
+ Position.Bottom,
+ ];
+
+ public ObservableCollection DialogButtons =>
+ [
+ DialogButton.None,
+ DialogButton.OK,
+ DialogButton.OKCancel,
+ DialogButton.YesNo,
+ DialogButton.YesNoCancel,
+ ];
+
public DrawerDemoViewModel()
{
ShowDialogCommand = new AsyncRelayCommand(ShowDefaultDialog);
@@ -35,7 +50,7 @@ public partial class DrawerDemoViewModel: ObservableObject
IsGlobal = true;
IsModal = true;
}
-
+
private async Task ShowDefaultDialog()
{
var vm = new PlainDialogViewModel();
@@ -67,7 +82,7 @@ public partial class DrawerDemoViewModel: ObservableObject
});
}
}
-
+
private async Task ShowCustomDrawer()
{
var vm = new DialogWithActionViewModel();
diff --git a/demo/Ursa.Demo/ViewModels/ElasticWrapPanelDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/ElasticWrapPanelDemoViewModel.cs
index 4964f36..ce11177 100644
--- a/demo/Ursa.Demo/ViewModels/ElasticWrapPanelDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/ElasticWrapPanelDemoViewModel.cs
@@ -1,4 +1,5 @@
-using Avalonia.Controls.Primitives;
+using System.Collections.ObjectModel;
+using Avalonia.Controls.Primitives;
using Avalonia.Layout;
using CommunityToolkit.Mvvm.ComponentModel;
@@ -23,6 +24,35 @@ public partial class ElasticWrapPanelDemoViewModel : ObservableObject
[ObservableProperty] private HorizontalAlignment _cmbHAlign = HorizontalAlignment.Left;
[ObservableProperty] private VerticalAlignment _cmbVAlign = VerticalAlignment.Stretch;
+ public ObservableCollection Orientations =>
+ [
+ Orientation.Horizontal,
+ Orientation.Vertical,
+ ];
+
+ public ObservableCollection ScrollBarVisibilities =>
+ [
+ ScrollBarVisibility.Auto,
+ ScrollBarVisibility.Hidden,
+ ScrollBarVisibility.Visible,
+ ];
+
+ public ObservableCollection HorizontalAlignments =>
+ [
+ HorizontalAlignment.Left,
+ HorizontalAlignment.Center,
+ HorizontalAlignment.Right,
+ HorizontalAlignment.Stretch,
+ ];
+
+ public ObservableCollection VerticalAlignments =>
+ [
+ VerticalAlignment.Top,
+ VerticalAlignment.Center,
+ VerticalAlignment.Bottom,
+ VerticalAlignment.Stretch,
+ ];
+
private double _oldItemSelfWidth;
private double _oldItemSelfHeight;
diff --git a/demo/Ursa.Demo/ViewModels/FormDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/FormDemoViewModel.cs
index 45f6ba9..4f2d459 100644
--- a/demo/Ursa.Demo/ViewModels/FormDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/FormDemoViewModel.cs
@@ -1,12 +1,33 @@
using System;
+using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
+using Avalonia.Layout;
using CommunityToolkit.Mvvm.ComponentModel;
+using Ursa.Common;
namespace Ursa.Demo.ViewModels;
-public partial class FormDemoViewModel: ObservableObject
+public partial class FormDemoViewModel : ObservableObject
{
[ObservableProperty] private DataModel _model;
+ [ObservableProperty] private Position _selectedPosition = Position.Top;
+ [ObservableProperty] private HorizontalAlignment _selectedHorizontalAlignment = HorizontalAlignment.Left;
+
+ public ObservableCollection Positions =>
+ [
+ Position.Left,
+ Position.Top,
+ Position.Right,
+ Position.Bottom,
+ ];
+
+ public ObservableCollection HorizontalAlignments =>
+ [
+ HorizontalAlignment.Stretch,
+ HorizontalAlignment.Left,
+ HorizontalAlignment.Center,
+ HorizontalAlignment.Right,
+ ];
public FormDemoViewModel()
{
@@ -21,28 +42,30 @@ public partial class DataModel : ObservableObject
[MinLength(10)]
public string Name
{
- get=>_name;
+ get => _name;
set => SetProperty(ref _name, value);
}
private double _number;
+
[Range(0.0, 10.0)]
public double Number
{
get => _number;
set => SetProperty(ref _number, value);
}
-
+
private string _email;
-
+
[EmailAddress]
public string Email
{
- get=>_email;
+ get => _email;
set => SetProperty(ref _email, value);
}
private DateTime _date;
+
public DateTime Date
{
get => _date;
diff --git a/demo/Ursa.Demo/ViewModels/IconButtonDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/IconButtonDemoViewModel.cs
index a75fe5a..927ff15 100644
--- a/demo/Ursa.Demo/ViewModels/IconButtonDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/IconButtonDemoViewModel.cs
@@ -1,8 +1,18 @@
-using CommunityToolkit.Mvvm.ComponentModel;
+using System.Collections.ObjectModel;
+using CommunityToolkit.Mvvm.ComponentModel;
+using Ursa.Common;
namespace Ursa.Demo.ViewModels;
-public class IconButtonDemoViewModel: ObservableObject
+public partial class IconButtonDemoViewModel : ObservableObject
{
-
+ [ObservableProperty] private Position _selectedPosition = Position.Top;
+
+ public ObservableCollection Positions =>
+ [
+ Position.Left,
+ Position.Top,
+ Position.Right,
+ Position.Bottom,
+ ];
}
\ No newline at end of file
diff --git a/demo/Ursa.Demo/ViewModels/ToolBarDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/ToolBarDemoViewModel.cs
index d17c4db..8a04c8a 100644
--- a/demo/Ursa.Demo/ViewModels/ToolBarDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/ToolBarDemoViewModel.cs
@@ -1,19 +1,29 @@
using System.Collections.ObjectModel;
using System.Windows.Input;
+using Avalonia.Layout;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Ursa.Controls;
namespace Ursa.Demo.ViewModels;
-public partial class ToolBarDemoViewModel: ObservableObject
+public partial class ToolBarDemoViewModel : ObservableObject
{
+ [ObservableProperty] private Orientation _selectedOrientation;
+
+ public ObservableCollection Orientations =>
+ [
+ Orientation.Horizontal,
+ Orientation.Vertical
+ ];
+
public ObservableCollection Items { get; set; }
+
public ToolBarDemoViewModel()
{
Items = new()
{
- new ToolBarButtonItemViewModel() { Content = "New", OverflowMode = OverflowMode.AsNeeded},
+ new ToolBarButtonItemViewModel() { Content = "New", OverflowMode = OverflowMode.AsNeeded },
new ToolBarButtonItemViewModel() { Content = "Open" },
new ToolBarButtonItemViewModel() { Content = "Save1" },
new ToolBarButtonItemViewModel() { Content = "Save2" },
@@ -26,18 +36,18 @@ public partial class ToolBarDemoViewModel: ObservableObject
new ToolBarSeparatorViewModel(),
new ToolBarButtonItemViewModel() { Content = "Save8" },
new ToolBarCheckBoxItemViweModel() { Content = "Bold" },
- new ToolBarCheckBoxItemViweModel() { Content = "Italic", OverflowMode = OverflowMode.Never},
- new ToolBarComboBoxItemViewModel() { Content = "Font Size", Items = new (){ "10", "12", "14" } }
+ new ToolBarCheckBoxItemViweModel() { Content = "Italic", OverflowMode = OverflowMode.Never },
+ new ToolBarComboBoxItemViewModel() { Content = "Font Size", Items = new() { "10", "12", "14" } }
};
}
}
-public abstract class ToolBarItemViewModel: ObservableObject
+public abstract class ToolBarItemViewModel : ObservableObject
{
public OverflowMode OverflowMode { get; set; }
}
-public class ToolBarButtonItemViewModel: ToolBarItemViewModel
+public class ToolBarButtonItemViewModel : ToolBarItemViewModel
{
public string Content { get; set; }
public ICommand Command { get; set; }
@@ -48,7 +58,7 @@ public class ToolBarButtonItemViewModel: ToolBarItemViewModel
}
}
-public class ToolBarCheckBoxItemViweModel: ToolBarItemViewModel
+public class ToolBarCheckBoxItemViweModel : ToolBarItemViewModel
{
public string Content { get; set; }
public bool IsChecked { get; set; }
@@ -60,12 +70,13 @@ public class ToolBarCheckBoxItemViweModel: ToolBarItemViewModel
}
}
-public class ToolBarComboBoxItemViewModel: ToolBarItemViewModel
+public class ToolBarComboBoxItemViewModel : ToolBarItemViewModel
{
public string Content { get; set; }
public ObservableCollection Items { get; set; }
private string _selectedItem;
+
public string SelectedItem
{
get => _selectedItem;
@@ -77,7 +88,6 @@ public class ToolBarComboBoxItemViewModel: ToolBarItemViewModel
}
}
-public class ToolBarSeparatorViewModel: ToolBarItemViewModel
+public class ToolBarSeparatorViewModel : ToolBarItemViewModel
{
-
}
\ No newline at end of file