Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

MarkdownTextBlock not working in multithreaded window

Aperta
#776 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
csharp
Ambito
desktop, frontend

Direzione di ricerca

Riproduci il problema a partire dagli esempi SettingsPage UWP o WAS collegati aprendo due finestre di thread. Inizia da MarkdownTextBlock.OnApplyTemplate e Build/ApplyText, quindi segui il percorso dell’intestazione attraverso MyHeading.SetHProperties, dove si verifica la COMException. Il lavoro è completato quando MarkdownTextBlock viene visualizzato correttamente in entrambe le finestre senza l’eccezione di threading.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug :bug:
Describe the bug

MarkdownTextBlock not working in multithreaded window both in UWP and WAS.

System.Runtime.InteropServices.COMException (0x8001010E)
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at ABI.Windows.UI.Xaml.Documents.ITextElementMethods.set_Foreground(IObjectReference _obj, Brush value)
   at Windows.UI.Xaml.Documents.TextElement.set_Foreground(Brush value)
   at CommunityToolkit.WinUI.Controls.TextElements.MyHeading.SetHProperties(Int32 level)
   at CommunityToolkit.WinUI.Controls.TextElements.MyHeading..ctor(HeadingBlock headingBlock, MarkdownConfig config)
   at CommunityToolkit.WinUI.Controls.Renderers.ObjectRenderers.HeadingRenderer.Write(WinUIRenderer renderer, HeadingBlock obj)
   at Markdig.Renderers.MarkdownObjectRenderer`2.Write(RendererBase renderer, MarkdownObject obj)
   at Markdig.Renderers.RendererBase.Write(MarkdownObject obj)
   at Markdig.Renderers.RendererBase.WriteChildren(ContainerBlock containerBlock)
   at Markdig.Renderers.RendererBase.Write(MarkdownObject obj)
   at CommunityToolkit.WinUI.Controls.Renderers.WinUIRenderer.Render(MarkdownObject markdownObject)
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.ApplyText(Boolean rerender)
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.Build()
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.OnApplyTemplate()
   at Windows.UI.Xaml.FrameworkElement.Windows.UI.Xaml.IFrameworkElementOverrides.OnApplyTemplate()
   at ABI.Windows.UI.Xaml.IFrameworkElementOverrides.Do_Abi_OnApplyTemplate_2(IntPtr thisPtr)
Steps to reproduce
1. Use it such as [UWP](https://github.com/wherewhere/CoreAppUWP/blob/wuxc/CoreAppUWP/Pages/SettingsPages/SettingsPage.xaml#L395-L402) or [WAS](https://github.com/wherewhere/CoreAppUWP/blob/muxc/CoreAppUWP/Pages/SettingsPages/SettingsPage.xaml#L419-L426)
2. Run it and open two different thread windows.
3. It broken.
Expected behavior

Works fine.

Screenshots

Image

Code Platform
  • UWP
  • WinAppSDK / WinUI 3
  • Web Assembly (WASM)
  • Android
  • iOS
  • MacOS
  • Linux / GTK
Windows Build Number
  • Windows 10 1809 (Build 17763)
  • Windows 10 1903 (Build 18362)
  • Windows 10 1909 (Build 18363)
  • Windows 10 2004 (Build 19041)
  • Windows 10 20H2 (Build 19042)
  • Windows 10 21H1 (Build 19043)
  • Windows 11 21H2 (Build 22000)
  • Other (specify)
Other Windows Build number

26200.7623

App minimum and target SDK version
  • Windows 10, version 1809 (Build 17763)
  • Windows 10, version 1903 (Build 18362)
  • Windows 10, version 1909 (Build 18363)
  • Windows 10, version 2004 (Build 19041)
  • Other (specify)
Other SDK version

No response

Visual Studio Version

Preview

Visual Studio Build Number

Insiders [11408.92]

Device form factor

Desktop

Additional context

This problem is exits since the control is here. I don't know if here already has a issue.

Help us help you

Yes, I'd like to be assigned to work on this item.

Lingua principale
C#
Stelle
484
Fork
89
Merge medio
2g 18h
PR unite (30g)
1

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CommunityToolkit/Labs-Windows

Tutte le issue di CommunityToolkit/Labs-Windows

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.