From 252f02b21e393dc41eea4d0a17b6d433d186ec0a Mon Sep 17 00:00:00 2001 From: pr8x Date: Thu, 16 Feb 2023 17:54:37 +0100 Subject: [PATCH] Fix edior not loading directyl when value is null --- .../Controls/PropertyValueEditor.cs | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/Avalonia.Diagnostics/Diagnostics/Controls/PropertyValueEditor.cs b/src/Avalonia.Diagnostics/Diagnostics/Controls/PropertyValueEditor.cs index ac90f01fad..a045fb09a1 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/Controls/PropertyValueEditor.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/Controls/PropertyValueEditor.cs @@ -51,7 +51,16 @@ namespace Avalonia.Diagnostics.Controls public object? Value { get => _value; - set => SetAndRaise(ValueProperty, ref _value, value); + set + { + if (_needsUpdate) + { + _needsUpdate = false; + Child = UpdateControl(); + } + + SetAndRaise(ValueProperty, ref _value, value); + } } public Type? ValueType @@ -77,13 +86,6 @@ namespace Avalonia.Diagnostics.Controls _needsUpdate = true; } - - if (change.Property == ValueProperty && _needsUpdate) - { - _needsUpdate = false; - - Child = UpdateControl(); - } } //Unfortunately we cannot use TwoWay bindings as they update the source with the target value @@ -202,13 +204,7 @@ namespace Avalonia.Diagnostics.Controls img.HorizontalAlignment = HorizontalAlignment.Stretch; img.PointerPressed += (_, _) => - new Window - { - Content = new Image - { - Source = img.Source - } - }.Show(); + new Window { Content = new Image { Source = img.Source } }.Show(); }); if (ValueType.IsEnum)