样式不适用于动态添加的 TextBlock 内容

发布于 2024-08-09 13:59:32 字数 443 浏览 10 评论 0原文

我正在尝试使用下面的代码将内联添加到文本块。文本块的窗口使用 Themes.xaml 文件进行样式设置,但是当我动态添加运行时,样式不会应用。你能帮我理解为什么吗?

foreach (string key in wrappingOptions.Keys)
{
  Hyperlink link = new Hyperlink(new Run(key));
  string s = new string(wrappingOptions[key].ToCharArray());
  link.Click += (o, _) => tbIn.SelectedText = string.Format("<{0}>{1}</{0}>",
    s, tbIn.SelectedText);
  InputLinksBlock.Inlines.Add(link);
}

I'm trying to add inlines to a text block using the code below. The text block's window uses a Themes.xaml file for styling, but when I add the runs dynamically, the styling does not get applied. Can you help me understand why?

foreach (string key in wrappingOptions.Keys)
{
  Hyperlink link = new Hyperlink(new Run(key));
  string s = new string(wrappingOptions[key].ToCharArray());
  link.Click += (o, _) => tbIn.SelectedText = string.Format("<{0}>{1}</{0}>",
    s, tbIn.SelectedText);
  InputLinksBlock.Inlines.Add(link);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妄断弥空 2024-08-16 13:59:32

超链接是一个 FrameworkContentElement 类。它不会从父 TextBlock 派生文本显示属性。您明确需要使用

Hyperlink is a FrameworkContentElement class. It does not derive it's text display properties from the parent TextBlock. You explicitly need to set a default style for a Hyperlink using <Style TargetType="Hyperlink">.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文