diff --git a/src/Avalonia.Controls/Documents/InlineUIContainer.cs b/src/Avalonia.Controls/Documents/InlineUIContainer.cs index 5f08c23099..d632e5fea7 100644 --- a/src/Avalonia.Controls/Documents/InlineUIContainer.cs +++ b/src/Avalonia.Controls/Documents/InlineUIContainer.cs @@ -87,18 +87,7 @@ namespace Avalonia.Controls.Documents public override TextRunProperties? Properties { get; } - public override Size Size - { - get - { - if (!Control.IsMeasureValid) - { - Control.Measure(Size.Infinity); - } - - return Control.DesiredSize; - } - } + public override Size Size => Control.DesiredSize; public override double Baseline { @@ -118,7 +107,7 @@ namespace Avalonia.Controls.Documents public override void Draw(DrawingContext drawingContext, Point origin) { - Control.Arrange(new Rect(origin, Size)); + //noop } } } diff --git a/src/Avalonia.Controls/RichTextBlock.cs b/src/Avalonia.Controls/RichTextBlock.cs index 3c902fa16a..906a038ec3 100644 --- a/src/Avalonia.Controls/RichTextBlock.cs +++ b/src/Avalonia.Controls/RichTextBlock.cs @@ -544,6 +544,32 @@ namespace Avalonia.Controls } } + protected override Size MeasureOverride(Size availableSize) + { + foreach (var child in VisualChildren) + { + if (child is Control control) + { + control.Measure(Size.Infinity); + } + } + + return base.MeasureOverride(availableSize); + } + + protected override Size ArrangeOverride(Size finalSize) + { + foreach (var child in VisualChildren) + { + if (child is Control control) + { + control.Arrange(new Rect(control.DesiredSize)); + } + } + + return base.ArrangeOverride(finalSize); + } + private string GetSelection() { if (!IsTextSelectionEnabled) diff --git a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor index b501db16d3..4802191077 100644 --- a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor +++ b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor @@ -15,7 +15,8 @@ + oncut="return false;" + autocapitalize="none"/>