diff --git a/src/Avalonia/Directory.Build.props b/src/Avalonia/Directory.Build.props index 9ed3221f9..336c213bd 100644 --- a/src/Avalonia/Directory.Build.props +++ b/src/Avalonia/Directory.Build.props @@ -1,8 +1,8 @@ - + enable latest net9.0 - 11.3.6 + 12.0.1 diff --git a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs index 78d6b88ed..90d3ab92c 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs +++ b/src/Avalonia/HandyControlDemo_Avalonia/App.axaml.cs @@ -18,7 +18,6 @@ public override void Initialize() public override void OnFrameworkInitializationCompleted() { Properties.Langs.Lang.Culture = new CultureInfo("en"); - RemoveDefaultDataValidator(); if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { @@ -27,17 +26,4 @@ public override void OnFrameworkInitializationCompleted() base.OnFrameworkInitializationCompleted(); } - - private static void RemoveDefaultDataValidator() - { - // Get an array of plugins to remove - var dataValidationPluginsToRemove = - BindingPlugins.DataValidators.OfType().ToArray(); - - // remove each entry found - foreach (var plugin in dataValidationPluginsToRemove) - { - BindingPlugins.DataValidators.Remove(plugin); - } - } } diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml index 58cb4fb21..ed917abb2 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml @@ -3,6 +3,8 @@ xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:data="clr-namespace:HandyControlDemo.Data" + xmlns:vm="using:HandyControlDemo.ViewModel" + x:DataType="{x:Type vm:MainViewModel}" Margin="16,16,0,16" CornerRadius="10" Effect="{StaticResource EffectShadow4}"> diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/MainContent.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/MainContent.axaml index 7f72e59aa..4fb52c327 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/MainContent.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/MainContent.axaml @@ -1,5 +1,7 @@  diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/AutoCompleteBoxDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/AutoCompleteBoxDemo.axaml index 22686e938..1a6bc501f 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/AutoCompleteBoxDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/AutoCompleteBoxDemo.axaml @@ -1,6 +1,8 @@ - - - - + x:DataType="vm:InputElementDemoViewModel" + x:CompileBindings="False" + DataContext="{Binding InputElementDemo, Source={x:Static vm:ViewModelLocator.Instance}}" + > + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml index 4e0bffac3..1b112bb84 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml @@ -1,5 +1,7 @@ - diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml index 677d506c9..527158dbe 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NumericUpDownDemo.axaml @@ -1,8 +1,10 @@ - @@ -36,7 +38,7 @@ Value="10000" Width="380" hc:TitleElement.TitleWidth="140" - Watermark="Please enter content" + PlaceholderText="Please enter content" hc:TitleElement.TitlePlacement="Left" hc:TitleElement.Title="The title is on the left" Theme="{StaticResource NumericUpDownExtend}" @@ -59,7 +61,7 @@ hc:TitleElement.Title="This is the title" Theme="{StaticResource NumericUpDownExtend}" /> @@ -74,7 +76,7 @@ hc:InfoElement.ShowClearButton="True" Width="380" hc:TitleElement.TitleWidth="140" - Watermark="Please enter content" + PlaceholderText="Please enter content" hc:TitleElement.TitlePlacement="Left" hc:TitleElement.Title="The title is on the left" Theme="{StaticResource NumericUpDownExtend}" @@ -96,7 +98,7 @@ hc:TitleElement.Title="This is the title" Theme="{StaticResource NumericUpDownExtend.Small}" /> @@ -111,7 +113,7 @@ Value="10000" Width="380" hc:TitleElement.TitleWidth="140" - Watermark="Please enter content" + PlaceholderText="Please enter content" hc:TitleElement.TitlePlacement="Left" hc:TitleElement.Title="The title is on the left" Theme="{StaticResource NumericUpDownExtend.Small}" @@ -134,7 +136,7 @@ hc:TitleElement.Title="This is the title" Theme="{StaticResource NumericUpDownExtend.Small}" /> @@ -149,7 +151,7 @@ hc:InfoElement.ShowClearButton="True" Width="380" hc:TitleElement.TitleWidth="140" - Watermark="Please enter content" + PlaceholderText="Please enter content" hc:TitleElement.TitlePlacement="Left" hc:TitleElement.Title="The title is on the left" Theme="{StaticResource NumericUpDownExtend.Small}" diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/TextBoxDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/TextBoxDemo.axaml index ba4536835..0eabdd4a3 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/TextBoxDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/TextBoxDemo.axaml @@ -1,8 +1,10 @@ - - - +/// 用以代替Grid +/// +/// +/// 当不需要Grid的行、列分隔等功能时建议用此轻量级类代替 +/// +public class SimplePanel : Panel +{ + protected override Size MeasureOverride(Size constraint) + { + var maxWidth = 0d; + var maxHeight = 0d; + foreach (Control? child in Children) + { + if (child != null) + { + child.Measure(constraint); + maxWidth = Math.Max(maxWidth, child.DesiredSize.Width); + maxHeight = Math.Max(maxHeight, child.DesiredSize.Height); + } + } + + return new Size(maxWidth, maxHeight); + } + + protected override Size ArrangeOverride(Size arrangeSize) + { + foreach (Control? child in Children) + { + child?.Arrange(new Rect(arrangeSize)); + } + + return arrangeSize; + } +} diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/AutoCompleteBox.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/AutoCompleteBox.axaml index acc05f8c4..dfdfcfc86 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/AutoCompleteBox.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/AutoCompleteBox.axaml @@ -1,4 +1,4 @@ - - + - + - + @@ -11,7 +11,7 @@ - + - + @@ -248,9 +248,9 @@ + Value="{Binding $parent[ProgressBar].Bounds.Width, Converter={StaticResource DoubleExpandConverter}, ConverterParameter=40}" /> + Value="{Binding $parent[ProgressBar].Bounds.Height}" /> @@ -282,9 +282,9 @@ + Value="{Binding $parent[ProgressBar].Bounds.Width}" /> + Value="{Binding $parent[ProgressBar].Bounds.Height, Converter={StaticResource DoubleExpandConverter}, ConverterParameter=40}" /> diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml index 5bc5a285e..76c55212d 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/TextBox.axaml @@ -1,4 +1,4 @@ - - + - - -