diff --git a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj index 2589651b2..d4423cf01 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj +++ b/src/Avalonia/HandyControlDemo_Avalonia/HandyControlDemo_Avalonia.csproj @@ -11,12 +11,16 @@ HandyControlDemo HandyControlDemo + + + + @@ -31,14 +35,6 @@ - - - - - - - - True @@ -53,9 +49,4 @@ Lang.Designer.cs - - - - - diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml deleted file mode 100644 index 2abd67b33..000000000 --- a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Basic.axaml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Converters.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Converters.axaml new file mode 100644 index 000000000..7c354c483 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Converters.axaml @@ -0,0 +1,5 @@ + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.xaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.axaml similarity index 99% rename from src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.xaml rename to src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.axaml index 7e2fdd00d..b6d549aca 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.xaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Geometries.axaml @@ -1,4 +1,4 @@ - M512 0h1216a512 512 0 1 1 0 1024H512A512 512 0 1 1 512 0zM420.16 311.04V768h74.88V433.92h2.56l228.48 334.08h72.96V311.04h-75.52v329.6h-2.56l-225.92-329.6h-74.88z m468.48 0V768h340.48v-64h-265.6V565.76h239.36v-64h-239.36V375.04h254.72v-64h-329.6z m369.28 0l131.2 456.96h80l89.6-343.68h2.56l88.96 343.68h79.36l131.84-456.96h-84.48l-85.76 347.52h-2.56l-90.24-347.52h-77.44l-90.24 347.52h-2.56l-85.76-347.52h-84.48z diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml index 12c62a092..d0b51ec8a 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Theme.axaml @@ -3,7 +3,9 @@ - + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringRepeatConverter.cs b/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringRepeatConverter.cs new file mode 100644 index 000000000..9f2b3bb49 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/Tools/Converter/StringRepeatConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Globalization; +using System.Text; +using Avalonia.Data.Converters; + +namespace HandyControlDemo.Tools.Converter; + +public class StringRepeatConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is not string strValue) + { + return string.Empty; + } + + var builder = new StringBuilder(); + int num; + + switch (parameter) + { + case string numStr: + { + if (!int.TryParse(numStr, out num)) + { + return strValue; + } + + break; + } + case int intValue: + num = intValue; + break; + default: + return strValue; + } + + for (int i = 0; i < num; i++) + { + builder.Append(strValue); + } + + return builder.ToString(); + } + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml new file mode 100644 index 000000000..a95a289fe --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml @@ -0,0 +1,38 @@ + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml.cs new file mode 100644 index 000000000..957fd2344 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/LabelDemo.axaml.cs @@ -0,0 +1,9 @@ +namespace HandyControlDemo.UserControl; + +public partial class LabelDemo : Avalonia.Controls.UserControl +{ + public LabelDemo() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Label.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Label.axaml index ffc79fa94..5f27ed6ef 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Label.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Label.axaml @@ -57,6 +57,15 @@ BasedOn="{StaticResource LabelDefault}" TargetType="Label" /> + + + + + @@ -64,6 +73,15 @@ Value="{DynamicResource PrimaryBrush}" /> + + + + + @@ -71,6 +89,15 @@ Value="{DynamicResource SuccessBrush}" /> + + + + + @@ -78,6 +105,15 @@ Value="{DynamicResource InfoBrush}" /> + + + + + @@ -85,10 +121,28 @@ Value="{DynamicResource WarningBrush}" /> + + + + + + + + + +