public MarkdownSourceEditorScrollBarMarker(MarkdownSourceEditor editor) { this.Editor = editor; this.Width = 16; this.HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Right; this.IsHitTestVisible = false; }
public MarkdownSourceEditorControl() { Grid gridContainer = new Grid(); this.Content = gridContainer; ScrollViewer scroller = new ScrollViewer() { HorizontalScrollBarVisibility = Avalonia.Controls.Primitives.ScrollBarVisibility.Auto, VerticalScrollBarVisibility = Avalonia.Controls.Primitives.ScrollBarVisibility.Auto, AllowAutoHide = false }; gridContainer.Children.Add(scroller); Editor = new MarkdownSourceEditor() { }; scroller.Content = Editor; this.PropertyChanged += (s, e) => { if (e.Property == FontSizeProperty) { this.Editor.FontSize = (double)e.NewValue; Editor.SelectionLayer.InvalidateVisual(); Editor.TextLayer.InvalidateVisual(); Editor.CaretLayer.InvalidateVisual(); Editor.LineNumbersLayer.InvalidateVisual(); Editor.LineNumbersWidth = this.CharacterWidth * (Math.Floor(Math.Log10(Editor.Text.Lines.Count)) + 1); Editor.InvalidateMeasure(); } }; gridContainer.Children.Add(Editor.ScrollBarMarker); }
internal MarkdownSourceEditorCaret(MarkdownSourceEditor editor) { this.Editor = editor; this.IsHitTestVisible = false; _caretTimer.Tick += CaretTimerTick; _caretTimer.Interval = TimeSpan.FromMilliseconds(500); _caretTimer.Start(); }
internal MarkdownSourceEditorSelection(MarkdownSourceEditor editor) { this.Editor = editor; this.IsHitTestVisible = false; }
internal MarkdownSourceEditorLineNumbers(MarkdownSourceEditor editor) { this.Editor = editor; }