feat: add form infra.

This commit is contained in:
rabbitism
2024-02-16 20:16:48 +08:00
parent e286f3fece
commit 495b5651a7
5 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
using Avalonia;
using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Markup.Xaml.Templates;
using Avalonia.Metadata;
namespace Ursa.Controls;
public class Form: ItemsControl
{
public static readonly StyledProperty<AvaloniaList<FormItem>> ItemsProperty = AvaloniaProperty.Register<Form, AvaloniaList<FormItem>>(
"Items");
public AvaloniaList<FormItem> Items
{
get => GetValue(ItemsProperty);
set => SetValue(ItemsProperty, value);
}
public void AddChild(object child)
{
throw new NotImplementedException();
}
}

View File

@@ -0,0 +1,9 @@
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
namespace Ursa.Controls;
public class FormGroup: HeaderedItemsControl, IFormItem
{
}

View File

@@ -0,0 +1,8 @@
using Avalonia.Controls.Primitives;
namespace Ursa.Controls;
public class FormItem: TemplatedControl, IFormItem
{
}

View File

@@ -0,0 +1,6 @@
namespace Ursa.Controls;
public class FormPanel
{
}

View File

@@ -0,0 +1,9 @@
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
namespace Ursa.Controls;
public interface IFormItem
{
}