From 8911e52963e4c336d1d0ee744327e187aa3f4a90 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Sat, 18 Feb 2023 21:02:58 +0800 Subject: [PATCH] feat: add compiled bindings to resources. --- .../Semi.Avalonia.Demo.Desktop.csproj | 1 + .../Controls/ColorDetailControl.axaml | 5 +++- .../Controls/ColorItemControl.axaml | 5 +++- .../FunctionalColorGroupControl.axaml | 16 ++++++++-- .../Pages/AutoCompleteBoxDemo.axaml | 12 ++++---- .../Pages/PaletteDemo.axaml | 2 ++ .../Controls/AutoCompleteBox.axaml | 5 +++- src/Semi.Avalonia/Controls/Border.axaml | 5 +++- src/Semi.Avalonia/Controls/Button.axaml | 5 +++- .../Controls/ButtonSpinner.axaml | 5 +++- src/Semi.Avalonia/Controls/Calendar.axaml | 6 +++- .../Controls/CalendarDatePicker.axaml | 5 +++- .../Controls/CaptionButtons.axaml | 5 +++- src/Semi.Avalonia/Controls/Carousel.axaml | 3 +- src/Semi.Avalonia/Controls/CheckBox.axaml | 5 +++- src/Semi.Avalonia/Controls/ComboBox.axaml | 5 +++- .../Controls/ContentControl.axaml | 5 +++- src/Semi.Avalonia/Controls/ContextMenu.axaml | 5 +++- src/Semi.Avalonia/Controls/Controls.axaml | 5 +++- src/Semi.Avalonia/Controls/DatePicker.axaml | 5 +++- .../Controls/DateTimePickerShared.axaml | 5 +++- .../Controls/DropdownButton.axaml | 5 +++- src/Semi.Avalonia/Controls/Expander.axaml | 14 ++++++--- .../Controls/FlyoutPresenter.axaml | 5 +++- src/Semi.Avalonia/Controls/GridSplitter.axaml | 5 +++- src/Semi.Avalonia/Controls/ItemsControl.axaml | 5 +++- src/Semi.Avalonia/Controls/Label.axaml | 14 ++++++--- src/Semi.Avalonia/Controls/ListBox.axaml | 5 +++- .../Controls/ManagedFileChooser.axaml | 5 ++-- src/Semi.Avalonia/Controls/Menu.axaml | 5 ++-- .../Controls/MenuFlyoutPresenter.axaml | 5 +++- .../Controls/NotificationCard.axaml | 5 +++- .../Controls/NumericUpDown.axaml | 5 +++- src/Semi.Avalonia/Controls/PathIcon.axaml | 5 +++- src/Semi.Avalonia/Controls/Popup.axaml | 5 +++- src/Semi.Avalonia/Controls/ProgressBar.axaml | 3 +- src/Semi.Avalonia/Controls/RadioButton.axaml | 5 +++- .../Controls/RefreshContainer.axaml | 5 +++- src/Semi.Avalonia/Controls/RepeatButton.axaml | 5 +++- src/Semi.Avalonia/Controls/ScrollViewer.axaml | 3 +- .../Controls/SelectableTextBlock.axaml | 5 +++- src/Semi.Avalonia/Controls/Slider.axaml | 5 +++- src/Semi.Avalonia/Controls/SplitButton.axaml | 2 +- src/Semi.Avalonia/Controls/SplitView.axaml | 5 +--- src/Semi.Avalonia/Controls/TabControl.axaml | 5 +++- src/Semi.Avalonia/Controls/TabItem.axaml | 5 +++- src/Semi.Avalonia/Controls/TabStrip.axaml | 5 +++- src/Semi.Avalonia/Controls/TextBlock.axaml | 5 +++- src/Semi.Avalonia/Controls/TextBox.axaml | 5 +++- .../Controls/ThemeVariantScope.axaml | 5 +++- src/Semi.Avalonia/Controls/TimePicker.axaml | 8 +++-- src/Semi.Avalonia/Controls/TitleBar.axaml | 5 +++- src/Semi.Avalonia/Controls/ToggleButton.axaml | 5 +++- src/Semi.Avalonia/Controls/ToggleSwitch.axaml | 5 +++- src/Semi.Avalonia/Controls/Tooltip.axaml | 5 +++- .../TransitioningContentControl.axaml | 5 +++- src/Semi.Avalonia/Controls/TreeView.axaml | 3 +- src/Semi.Avalonia/Controls/UserControl.axaml | 29 ++++++++++--------- src/Semi.Avalonia/Controls/Window.axaml | 5 +++- 59 files changed, 255 insertions(+), 86 deletions(-) diff --git a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj index 3a1a1e8..6ee193c 100644 --- a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj +++ b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj @@ -4,6 +4,7 @@ net7.0 enable true + true diff --git a/demo/Semi.Avalonia.Demo/Controls/ColorDetailControl.axaml b/demo/Semi.Avalonia.Demo/Controls/ColorDetailControl.axaml index 81d842e..85c05e3 100644 --- a/demo/Semi.Avalonia.Demo/Controls/ColorDetailControl.axaml +++ b/demo/Semi.Avalonia.Demo/Controls/ColorDetailControl.axaml @@ -1,7 +1,10 @@ + xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls" + xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" + x:CompileBindings="True" + x:DataType="viewModels:ColorItemViewModel"> M5 7C3.89543 7 3 7.89543 3 9V19C3 20.1046 3.89543 21 5 21H15C16.1046 21 17 20.1046 17 19V9C17 7.89543 16.1046 7 15 7H5Z,M7 4C7 2.89543 7.89543 2 9 2H20C21.1046 2 22 2.89543 22 4V15C22 16.1046 21.1046 17 20 17H19V8C19 6 18 5 16 5H7V4Z diff --git a/demo/Semi.Avalonia.Demo/Controls/ColorItemControl.axaml b/demo/Semi.Avalonia.Demo/Controls/ColorItemControl.axaml index 25b4bd9..6e2cd4e 100644 --- a/demo/Semi.Avalonia.Demo/Controls/ColorItemControl.axaml +++ b/demo/Semi.Avalonia.Demo/Controls/ColorItemControl.axaml @@ -1,7 +1,10 @@ + xmlns:controls="using:Semi.Avalonia.Demo.Controls" + xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" + x:CompileBindings="True" + x:DataType="viewModels:ColorItemViewModel"> diff --git a/demo/Semi.Avalonia.Demo/Controls/FunctionalColorGroupControl.axaml b/demo/Semi.Avalonia.Demo/Controls/FunctionalColorGroupControl.axaml index bcceac3..5247b20 100644 --- a/demo/Semi.Avalonia.Demo/Controls/FunctionalColorGroupControl.axaml +++ b/demo/Semi.Avalonia.Demo/Controls/FunctionalColorGroupControl.axaml @@ -2,7 +2,9 @@ xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls" - xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"> + xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" + x:CompileBindings="True" + x:DataType="viewModels:FunctionalColorGroupViewModel"> @@ -25,6 +27,7 @@ @@ -33,15 +36,17 @@ - @@ -51,6 +56,7 @@ @@ -62,6 +68,7 @@ Margin="12,0,12,0" HorizontalAlignment="Right" VerticalAlignment="Center" + x:DataType="viewModels:ColorItemViewModel" Text="{Binding Brush.Opacity}" /> @@ -78,6 +85,7 @@ @@ -89,12 +97,14 @@ @@ -104,6 +114,7 @@ @@ -115,6 +126,7 @@ Margin="12,0,12,0" HorizontalAlignment="Right" VerticalAlignment="Center" + x:DataType="viewModels:ColorItemViewModel" Text="{Binding Brush.Opacity}" /> diff --git a/demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml index 9e672d3..e24df12 100644 --- a/demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/AutoCompleteBoxDemo.axaml @@ -7,6 +7,8 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="450" d:DesignWidth="800" + x:CompileBindings="False" + x:DataType="local:AutoCompleteBoxDemoViewModel" mc:Ignorable="d"> @@ -19,7 +21,7 @@ @@ -30,7 +32,7 @@ + ValueMemberBinding="{ReflectionBinding Name}"> @@ -40,7 +42,7 @@ + ValueMemberBinding="{ReflectionBinding Name}"> @@ -50,7 +52,7 @@ + ValueMemberBinding="{ReflectionBinding Name}"> @@ -60,7 +62,7 @@ diff --git a/demo/Semi.Avalonia.Demo/Pages/PaletteDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/PaletteDemo.axaml index c9238ed..f863794 100644 --- a/demo/Semi.Avalonia.Demo/Pages/PaletteDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/PaletteDemo.axaml @@ -8,6 +8,8 @@ xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" d:DesignHeight="450" d:DesignWidth="800" + x:CompileBindings="True" + x:DataType="viewModels:PaletteDemoViewModel" mc:Ignorable="d"> diff --git a/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml b/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml index 3f094c0..93f6747 100644 --- a/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml +++ b/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Border.axaml b/src/Semi.Avalonia/Controls/Border.axaml index 26a01f6..8e80c01 100644 --- a/src/Semi.Avalonia/Controls/Border.axaml +++ b/src/Semi.Avalonia/Controls/Border.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Button.axaml b/src/Semi.Avalonia/Controls/Button.axaml index 35e1dda..0d76cc8 100644 --- a/src/Semi.Avalonia/Controls/Button.axaml +++ b/src/Semi.Avalonia/Controls/Button.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/ButtonSpinner.axaml b/src/Semi.Avalonia/Controls/ButtonSpinner.axaml index 346ed1a..001d153 100644 --- a/src/Semi.Avalonia/Controls/ButtonSpinner.axaml +++ b/src/Semi.Avalonia/Controls/ButtonSpinner.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Calendar.axaml b/src/Semi.Avalonia/Controls/Calendar.axaml index 95fc6e6..e40ca78 100644 --- a/src/Semi.Avalonia/Controls/Calendar.axaml +++ b/src/Semi.Avalonia/Controls/Calendar.axaml @@ -1,4 +1,7 @@ - + @@ -33,6 +36,7 @@ diff --git a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml index f20511f..48b12c5 100644 --- a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml +++ b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/CaptionButtons.axaml b/src/Semi.Avalonia/Controls/CaptionButtons.axaml index 3fc34a8..7ada7e1 100644 --- a/src/Semi.Avalonia/Controls/CaptionButtons.axaml +++ b/src/Semi.Avalonia/Controls/CaptionButtons.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Carousel.axaml b/src/Semi.Avalonia/Controls/Carousel.axaml index 579face..74bce8e 100644 --- a/src/Semi.Avalonia/Controls/Carousel.axaml +++ b/src/Semi.Avalonia/Controls/Carousel.axaml @@ -1,7 +1,8 @@ + xmlns:converters="clr-namespace:Semi.Avalonia.Converters" + x:CompileBindings="True"> diff --git a/src/Semi.Avalonia/Controls/CheckBox.axaml b/src/Semi.Avalonia/Controls/CheckBox.axaml index fde8b43..3c03378 100644 --- a/src/Semi.Avalonia/Controls/CheckBox.axaml +++ b/src/Semi.Avalonia/Controls/CheckBox.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/ComboBox.axaml b/src/Semi.Avalonia/Controls/ComboBox.axaml index c6019fb..4ef3231 100644 --- a/src/Semi.Avalonia/Controls/ComboBox.axaml +++ b/src/Semi.Avalonia/Controls/ComboBox.axaml @@ -1,4 +1,7 @@ - + Hello World diff --git a/src/Semi.Avalonia/Controls/ContentControl.axaml b/src/Semi.Avalonia/Controls/ContentControl.axaml index 38841e5..f19aed7 100644 --- a/src/Semi.Avalonia/Controls/ContentControl.axaml +++ b/src/Semi.Avalonia/Controls/ContentControl.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/ContextMenu.axaml b/src/Semi.Avalonia/Controls/ContextMenu.axaml index d16a6d5..2fe8b8f 100644 --- a/src/Semi.Avalonia/Controls/ContextMenu.axaml +++ b/src/Semi.Avalonia/Controls/ContextMenu.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/Controls.axaml index 7da7f8d..1da9b1c 100644 --- a/src/Semi.Avalonia/Controls/Controls.axaml +++ b/src/Semi.Avalonia/Controls/Controls.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/DatePicker.axaml b/src/Semi.Avalonia/Controls/DatePicker.axaml index 0997b81..c509681 100644 --- a/src/Semi.Avalonia/Controls/DatePicker.axaml +++ b/src/Semi.Avalonia/Controls/DatePicker.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml b/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml index 75119ba..300a497 100644 --- a/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml +++ b/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/DropdownButton.axaml b/src/Semi.Avalonia/Controls/DropdownButton.axaml index c9e9cee..235b90b 100644 --- a/src/Semi.Avalonia/Controls/DropdownButton.axaml +++ b/src/Semi.Avalonia/Controls/DropdownButton.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Expander.axaml b/src/Semi.Avalonia/Controls/Expander.axaml index 74eda6e..aede03b 100644 --- a/src/Semi.Avalonia/Controls/Expander.axaml +++ b/src/Semi.Avalonia/Controls/Expander.axaml @@ -1,4 +1,7 @@ - + Hello @@ -29,7 +32,8 @@ @@ -60,7 +65,8 @@ + diff --git a/src/Semi.Avalonia/Controls/GridSplitter.axaml b/src/Semi.Avalonia/Controls/GridSplitter.axaml index cce4704..13ab88a 100644 --- a/src/Semi.Avalonia/Controls/GridSplitter.axaml +++ b/src/Semi.Avalonia/Controls/GridSplitter.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/ItemsControl.axaml b/src/Semi.Avalonia/Controls/ItemsControl.axaml index 526371b..03f700e 100644 --- a/src/Semi.Avalonia/Controls/ItemsControl.axaml +++ b/src/Semi.Avalonia/Controls/ItemsControl.axaml @@ -1,4 +1,7 @@ - + diff --git a/src/Semi.Avalonia/Controls/Label.axaml b/src/Semi.Avalonia/Controls/Label.axaml index bae693e..dced162 100644 --- a/src/Semi.Avalonia/Controls/Label.axaml +++ b/src/Semi.Avalonia/Controls/Label.axaml @@ -1,8 +1,13 @@ - + + Width="500" + Margin="20" + HorizontalAlignment="Left" + Spacing="20">