using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using Avalonia; using Avalonia.Animation; using Avalonia.Controls; using Avalonia.Controls.Metadata; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; using Avalonia.Media; using Avalonia.Media.Immutable; using Avalonia.Styling; using Avalonia.Threading; using AvaloniaEdit; using AvaloniaEdit.Indentation.CSharp; using FluentAvalonia.Core.Attributes; using FluentAvalonia.UI.Controls; namespace FluentAvaloniaSamples.Controls; public class ControlDefinitionOverlay : TemplatedControl { public ControlDefinitionOverlay() { IsVisible = false; } public static readonly StyledProperty TargetTypeProperty = AvaloniaProperty.Register(nameof(TargetType)); public static readonly StyledProperty InheritanceProperty = AvaloniaProperty.Register(nameof(Inheritance)); public static readonly StyledProperty PseudoclassesListProperty = AvaloniaProperty.Register(nameof(PseudoclassesList)); public Type TargetType { get => GetValue(TargetTypeProperty); set => SetValue(TargetTypeProperty, value); } public string Inheritance { get => GetValue(InheritanceProperty); set => SetValue(InheritanceProperty, value); } public string PseudoclassesList { get => GetValue(PseudoclassesListProperty); set => SetValue(PseudoclassesListProperty, value); } protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { if (_closeButton != null) _closeButton.Click -= OnCloseClick; base.OnApplyTemplate(e); // _textEditor = e.NameScope.Find("TextEditor"); //_textEditor.TextArea.IndentationStrategy = new CSharpIndentationStrategy(); //_textEditor.SyntaxHighlighting = CSharpHighlightingSource.CSharpDarkMode; _closeButton = e.NameScope.Find