跳到主要内容

Markdown Styling and Customization

The Markdown control in Avalonia supports custom styling via named resources. You can override these resources in your application to customize the appearance of Markdown elements.

Customizable Resources

Below is a list of key resources you can override in your theme or resource dictionary:

Blocks

KeyTypeDefaultNotes
MarkdownBlockMarginThickness0,8Block outer margin
KeyTypeDefaultNotes
MarkdownHyperlinkForegroundBrush#0969daLink color
MarkdownHyperlinkForegroundVisitedBrush#551A8BVisited link color
MarkdownHyperlinkForegroundPointerOverBrush#0056b3Hover link color

Selection

KeyTypeDefaultNotes
MarkdownSelectionBrushBrush#FF086F9ESelection highlight

Code

KeyTypeDefaultNotes
MarkdownCodeFontFamilyFontFamilyCourier NewInline/code font

Code blocks

KeyTypeDefaultNotes
MarkdownCodeBlockParagraphPaddingThickness16Inner padding for code blocks
MarkdownCodeBlockParagraphBorderThicknessThickness1Border thickness for code blocks
MarkdownCodeBlockParagraphCornerRadiusCornerRadius6Corner radius for code blocks
MarkdownCodeBlockParagraphBackgroundBrush#1f818b98Background for code blocks
MarkdownCodeBlockParagraphBorderBrushBrush#e3ebf6Border brush for code blocks

Inline code

KeyTypeDefaultNotes
MarkdownCodeRunBackgroundBrush#1f818b98Inline code background

Thematic break

KeyTypeDefaultNotes
MarkdownThematicBreakRectangleFillBrush#d1d9e0Thematic break color

Headers (per level)

Each header exposes FontSize, BorderThickness, Padding, Margin.

KeyTypeDefaultNotes
MarkdownHeader1ParagraphFontSizeDouble31.5H1 font size
MarkdownHeader1ParagraphBorderThicknessThickness0,0,0,1H1 bottom border
MarkdownHeader1ParagraphPaddingThickness0,0,0,16H1 inner padding (bottom)
MarkdownHeader1ParagraphMarginThickness0,31,0,14H1 outer margin
MarkdownHeader2ParagraphFontSizeDouble24.5H2 font size
MarkdownHeader2ParagraphBorderThicknessThickness0,0,0,1H2 bottom border
MarkdownHeader2ParagraphPaddingThickness0,0,0,12H2 inner padding (bottom)
MarkdownHeader2ParagraphMarginThickness0,24.5,0,14H2 outer margin
MarkdownHeader3ParagraphFontSizeDouble21H3 font size
MarkdownHeader3ParagraphBorderThicknessThickness0,0,0,1H3 bottom border
MarkdownHeader3ParagraphPaddingThickness0,0,0,8H3 inner padding (bottom)
MarkdownHeader3ParagraphMarginThickness0,21,0,14H3 outer margin
MarkdownHeader4ParagraphFontSizeDouble16.8H4 font size
MarkdownHeader4ParagraphBorderThicknessThickness0,0,0,1H4 bottom border
MarkdownHeader4ParagraphPaddingThickness0,0,0,6H4 inner padding (bottom)
MarkdownHeader4ParagraphMarginThickness0,16.8,0,14H4 outer margin
MarkdownHeader5ParagraphFontSizeDouble14H5 font size
MarkdownHeader5ParagraphBorderThicknessThickness0,0,0,1H5 bottom border
MarkdownHeader5ParagraphPaddingThickness0,0,0,4H5 inner padding (bottom)
MarkdownHeader5ParagraphMarginThickness0,14,0,14H5 outer margin
MarkdownHeader6ParagraphFontSizeDouble14H6 font size
MarkdownHeader6ParagraphBorderThicknessThickness0,0,0,1H6 bottom border
MarkdownHeader6ParagraphPaddingThickness0,0,0,2H6 inner padding (bottom)
MarkdownHeader6ParagraphMarginThickness0,14,0,14H6 outer margin

Quote blocks

KeyTypeDefaultNotes
MarkdownQuoteBlockSectionBorderThicknessThickness4,0,0,0Quote block left border thickness
MarkdownQuoteBlockSectionBorderBrushBrush#DDDDDDQuote block border brush
MarkdownQuoteBlockSectionForegroundBrush#777777Quote block foreground color
MarkdownQuoteBlockSectionPaddingThickness15,0Quote block inner padding
MarkdownQuoteBlockFirstChildSectionMarginThickness0,0,0,14Margin for first child in quote
MarkdownQuoteBlockLastChildSectionMarginThickness0Margin for last child in quote

Tables

KeyTypeDefaultNotes
MarkdownTableCellBorderBrushBrushBlackTable cell border brush
MarkdownTableBorderBrushBrushBlackTable border brush
MarkdownTableBorderThicknessThickness0,0,1,1Table outer border thickness
MarkdownTableCellSpacingDouble0Cell spacing
MarkdownTableCellBorderThicknessThickness1,1,0,0Cell border thickness
MarkdownTableCellParagraphPaddingThickness12,5Cell paragraph padding

Inline styles

KeyTypeDefaultNotes
MarkdownMarkedSpanBackgroundBrushYellowHighlight background for marked spans

Alert blocks (per type)

KeyTypeDefaultNotes
MarkdownAlertBlockNoteBorderBrushBrush#0969daNote alert border brush
MarkdownAlertBlockNoteParagraphForegroundBrush#0969daNote alert paragraph foreground
MarkdownAlertBlockTipBorderBrushBrush#1a7f37Tip alert border brush
MarkdownAlertBlockTipParagraphForegroundBrush#1a7f37Tip alert paragraph foreground
MarkdownAlertBlockImportantBorderBrushBrush#8250dfImportant alert border brush
MarkdownAlertBlockImportantParagraphForegroundBrush#8250dfImportant alert paragraph foreground
MarkdownAlertBlockWarningBorderBrushBrush#9a6700Warning alert border brush
MarkdownAlertBlockWarningParagraphForegroundBrush#9a6700Warning alert paragraph foreground
MarkdownAlertBlockCautionBorderBrushBrush#d1242fCaution alert border brush
MarkdownAlertBlockCautionParagraphForegroundBrush#d1242fCaution alert paragraph foreground
MarkdownAlertBlockHeaderMarginThickness0 0 0 8Alert header margin

Alert header content templates

  • MarkdownAlertBlockHeaderNoteContentTemplate - content template for Note alert header
  • MarkdownAlertBlockHeaderTipContentTemplate - content template for Tip alert header
  • MarkdownAlertBlockHeaderImportantContentTemplate - content template for Important alert header
  • MarkdownAlertBlockHeaderWarningContentTemplate - content template for Warning alert header
  • MarkdownAlertBlockHeaderCautionContentTemplate - content template for Caution alert header

Copy button

KeyTypeDefaultNotes
MarkdownCopyButtonFillBrush#59636eCopy button fill color
MarkdownCopyButtonContentTemplateDataTemplate-Content template for copy button

How to Override

To customize, define these resources in your application theme or resource dictionary. For example:

<SolidColorBrush x:Key="MarkdownHyperlinkForeground" Color="#FF0000" />

Example: Custom Theme

<ResourceDictionary>
<SolidColorBrush x:Key="MarkdownSelectionBrush" Color="#FFD700" />
<FontFamily x:Key="MarkdownCodeFontFamily">Consolas</FontFamily>
<!-- Add more overrides as needed -->
</ResourceDictionary>

See Also