public MarkdownSourceEditorScrollBarMarker(MarkdownSourceEditor editor)
 {
     this.Editor = editor;
     this.Width  = 16;
     this.HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Right;
     this.IsHitTestVisible    = false;
 }
Пример #2
0
        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);
        }
Пример #3
0
 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;
 }