From 28a8df285f94271c23f49585d95741e0420c5599 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Sat, 20 Jan 2024 01:36:02 +0800 Subject: [PATCH] fix: fix reapplying template initialization issue. --- demo/Ursa.Demo/Pages/RangeSliderDemo.axaml | 8 ++++++-- .../ViewModels/RangeSliderDemoViewModel.cs | 12 +++++++++-- .../Controls/RangeSlider.axaml | 20 +++++++++---------- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/demo/Ursa.Demo/Pages/RangeSliderDemo.axaml b/demo/Ursa.Demo/Pages/RangeSliderDemo.axaml index 5f5412a..87ddecb 100644 --- a/demo/Ursa.Demo/Pages/RangeSliderDemo.axaml +++ b/demo/Ursa.Demo/Pages/RangeSliderDemo.axaml @@ -4,6 +4,9 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:u="https://irihi.tech/ursa" mc:Ignorable="d" d:DesignWidth="800" + xmlns:vm="using:Ursa.Demo.ViewModels" + x:DataType="vm:RangeSliderDemoViewModel" + x:CompileBindings="True" d:DesignHeight="450" x:Class="Ursa.Demo.Pages.RangeSliderDemo"> @@ -12,11 +15,12 @@ - + - + + diff --git a/demo/Ursa.Demo/ViewModels/RangeSliderDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/RangeSliderDemoViewModel.cs index 6c4635c..9e8fd67 100644 --- a/demo/Ursa.Demo/ViewModels/RangeSliderDemoViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/RangeSliderDemoViewModel.cs @@ -1,8 +1,16 @@ +using System.Collections.ObjectModel; +using Avalonia.Layout; using CommunityToolkit.Mvvm.ComponentModel; namespace Ursa.Demo.ViewModels; -public class RangeSliderDemoViewModel: ObservableObject +public partial class RangeSliderDemoViewModel: ObservableObject { - + public ObservableCollection Orientations { get; set; } = new ObservableCollection() + { + Orientation.Horizontal, + Orientation.Vertical + }; + + [ObservableProperty] private Orientation _orientation; } \ No newline at end of file diff --git a/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml b/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml index 529a94a..1ab4c95 100644 --- a/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml +++ b/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml @@ -54,11 +54,11 @@ Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" - Orientation="{Binding Orientation, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" - LowerValue="{Binding LowerValue, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" - Maximum="{Binding Maximum, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" - Minimum="{Binding Minimum, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" - UpperValue="{Binding UpperValue, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"> + Orientation="{Binding Orientation, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + LowerValue="{Binding LowerValue, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + Maximum="{Binding Maximum, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + Minimum="{Binding Minimum, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + UpperValue="{Binding UpperValue, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}"> + Orientation="{Binding Orientation, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + LowerValue="{Binding LowerValue, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + Maximum="{Binding Maximum, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + Minimum="{Binding Minimum, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}" + UpperValue="{Binding UpperValue, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}">