样式不适用于动态添加的 TextBlock 内容
我正在尝试使用下面的代码将内联添加到文本块。文本块的窗口使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
超链接是一个 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">
.