feat: add more properties.

This commit is contained in:
rabbitism
2024-02-18 17:10:59 +08:00
parent 14c7e6b21f
commit 66835a8efa
8 changed files with 232 additions and 127 deletions

View File

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Nullable>enable</Nullable>
<AvaloniaVersion>11.0.0</AvaloniaVersion>
<AvaloniaVersion>11.0.9</AvaloniaVersion>
</PropertyGroup>
</Project>

View File

@@ -1,27 +1,58 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
xmlns:vm="clr-namespace:Ursa.Demo.ViewModels;assembly=Ursa.Demo"
xmlns:u="https://irihi.tech/ursa"
x:DataType="vm:FormDemoViewModel"
x:CompileBindings="True"
x:Class="Ursa.Demo.Pages.FormDemo">
<UserControl
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"
xmlns:vm="clr-namespace:Ursa.Demo.ViewModels;assembly=Ursa.Demo"
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:FormDemoViewModel"
mc:Ignorable="d">
<StackPanel>
<u:Form DataContext="{Binding Model}" LabelWidth="Auto">
<StackPanel>
<u:EnumSelector
Name="position"
EnumType="common:Position"
Value="{x:Static common:Position.Top}" />
<u:EnumSelector
Name="alignment"
EnumType="HorizontalAlignment"
Value="{x:Static HorizontalAlignment.Left}" />
</StackPanel>
<u:Form
DataContext="{Binding Model}"
LabelAlignment="{Binding #alignment.Value}"
LabelPosition="{Binding #position.Value}"
LabelWidth="*">
<u:FormGroup Header="Information">
<TextBox u:Form.Label="Name" Text="{Binding Name}" Width="300"/>
<TextBox u:Form.Label="Email" Text="{Binding Email}" Width="300"/>
<TextBox
Width="300"
u:FormItem.IsRequired="True"
u:FormItem.Label="Name"
Text="{Binding Name}" />
<TextBox
Width="300"
u:FormItem.Label="Email"
Text="{Binding Email}" />
</u:FormGroup>
<u:FormItem>
<CalendarDatePicker u:Form.Label="Date" SelectedDate="{Binding Date}" />
<u:FormItem Label="Please select a Date">
<Calendar SelectedDate="{Binding Date}" />
</u:FormItem>
<u:FormItem Label="Click to Submit">
<Button Content="With Label" />
</u:FormItem>
<u:FormItem NoLabel="True">
<Button HorizontalAlignment="Left" Content="No Label" />
</u:FormItem>
</u:Form>
<StackPanel>
<TextBlock Text="{Binding Model.Name}"></TextBlock>
<TextBlock Text="{Binding Model.Email}"></TextBlock>
<TextBlock Text="{Binding Model.Date}"></TextBlock>
<TextBlock Text="{Binding Model.Name}" />
<TextBlock Text="{Binding Model.Email}" />
<TextBlock Text="{Binding Model.Date}" />
</StackPanel>
</StackPanel>
</UserControl>

View File

@@ -19,7 +19,7 @@
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0" />
<PackageReference Include="Semi.Avalonia" Version="11.0.0" />
<PackageReference Include="Semi.Avalonia" Version="11.0.7" />
</ItemGroup>
<ItemGroup>