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:
Block Elements
MarkdownBlockMargin
— Margin for block elements
Hyperlinks
MarkdownHyperlinkForeground
— Foreground color for hyperlinksMarkdownHyperlinkForegroundVisited
— Foreground color for visited linksMarkdownHyperlinkForegroundPointerOver
— Foreground color for hovered links
Selection
MarkdownSelectionBrush
— Brush for selected text
Code
MarkdownCodeFontFamily
— Font family for code
Code Blocks
MarkdownCodeBlockParagraphPadding
— Padding for code blocksMarkdownCodeBlockParagraphBorderThickness
— Border thickness for code blocksMarkdownCodeBlockParagraphCornerRadius
— Corner radius for code blocksMarkdownCodeBlockParagraphBackground
— Background for code blocksMarkdownCodeBlockParagraphBorderBrush
— Border brush for code blocks
Inline Code
MarkdownCodeRunBackground
— Background for inline code
Headers
MarkdownHeader1ParagraphFontSize
— Font size for H1MarkdownHeader2ParagraphFontSize
— Font size for H2MarkdownHeader3ParagraphFontSize
— Font size for H3MarkdownHeader4ParagraphFontSize
— Font size for H4MarkdownHeader5ParagraphFontSize
— Font size for H5MarkdownHeader6ParagraphFontSize
— Font size for H6MarkdownHeader1ParagraphPadding
— Padding for H1MarkdownHeader2ParagraphPadding
— Padding for H2MarkdownHeader1ParagraphMargin
— Margin for H1MarkdownHeader2ParagraphMargin
— Margin for H2MarkdownHeader3ParagraphMargin
— Margin for H3MarkdownHeader4ParagraphMargin
— Margin for H4MarkdownHeader5ParagraphMargin
— Margin for H5MarkdownHeader6ParagraphMargin
— Margin for H6
Quote Blocks
MarkdownQuoteBlockSectionBorderThickness
— Border thickness for quote blocksMarkdownQuoteBlockSectionBorderBrush
— Border brush for quote blocksMarkdownQuoteBlockSectionForeground
— Foreground for quote blocksMarkdownQuoteBlockSectionPadding
— Padding for quote blocksMarkdownQuoteBlockFirstChildSectionMargin
— Margin for first child in quote blockMarkdownQuoteBlockLastChildSectionMargin
— Margin for last child in quote block
Header Underline
MarkdownHeaderUnderlineParagraphBorderBrush
— Brush for header underlineMarkdownHeaderUnderlineParagraphBorderThickness
— Thickness for header underline
Tables
MarkdownTableCellBorderBrush
— Border brush for table cellsMarkdownTableBorderBrush
— Border brush for tablesMarkdownTableBorderThickness
— Border thickness for tablesMarkdownTableCellSpacing
— Cell spacing for tablesMarkdownTableCellBorderThickness
— Border thickness for table cellsMarkdownTableCellParagraphPadding
— Padding for table cell paragraphs
Inline Styles
MarkdownMarkedSpanBackgroundBrush
— Background for marked spans
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>