Skip to content

Commit

Permalink
Merge pull request #3180 from JasonStein/dev/jackil/mtbFix
Browse files Browse the repository at this point in the history
[Bug fix] Fixed a bug where MarkdownTextBlock loses all events after …
  • Loading branch information
michael-hawker authored Mar 31, 2020
2 parents 45cdd25 + c39a832 commit 5e01ab6
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ private void RenderMarkdown()
// Disconnect from OnClick handlers.
UnhookListeners();

// Clear everything that exists.
_listeningHyperlinks.Clear();

var markdownRenderedArgs = new MarkdownRenderedEventArgs(null);

// Make sure we have something to parse.
Expand Down Expand Up @@ -174,23 +177,38 @@ private void RenderMarkdown()
MarkdownRendered?.Invoke(this, markdownRenderedArgs);
}

private void UnhookListeners()
private void HookListeners()
{
// Clear any hyper link events if we have any
// Re-hook all hyper link events we currently have
foreach (object link in _listeningHyperlinks)
{
if (link is Hyperlink hyperlink)
{
hyperlink.Click -= Hyperlink_Click;
hyperlink.Click += Hyperlink_Click;
}
else if (link is Image image)
{
image.Tapped -= NewImagelink_Tapped;
image.Tapped += NewImagelink_Tapped;
}
}
}

// Clear everything that exists.
_listeningHyperlinks.Clear();
private void UnhookListeners()
{
// Unhook any hyper link events if we have any
foreach (object link in _listeningHyperlinks)
{
if (link is Hyperlink hyperlink)
{
hyperlink.Click -= Hyperlink_Click;
}
else if (link is Image image)
{
image.Tapped -= NewImagelink_Tapped;
}
}
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ private void ThemeListener_ThemeChanged(Helpers.ThemeListener sender)
private void OnLoaded(object sender, RoutedEventArgs e)
{
RegisterThemeChangedHandler();
HookListeners();

// Register for property callbacks that are owned by our parent class.
_fontSizePropertyToken = RegisterPropertyChangedCallback(FontSizeProperty, OnPropertyChanged);
Expand Down

0 comments on commit 5e01ab6

Please sign in to comment.