gpt4 book ai didi

c# - 虚拟化翻转 View 中的 XAML RichTextBlock

转载 作者:行者123 更新时间:2023-11-30 17:57:38 27 4
gpt4 key购买 nike

我一直在四处寻找有关将 html 内容绑定(bind)到我的项目详细信息页面上的翻转 View 中的富文本 block 的帮助,但找不到有关如何执行我所追求的操作的任何信息。

我正在构建一个简单的新闻阅读器应用程序,它从我想在我的 flipview 中显示的提要中获取 html 内容。

我创建了一个新的默认项目详细信息页面并绑定(bind)了我的收藏:

this.DefaultViewModel["Group"] = feedItem.Category;
this.DefaultViewModel["Items"] = feedItem.Category.Items;
this.flipView.SelectedItem = feedItem;

然后在我的 flipview 的 DataTemplate 中:

<common:RichTextColumns x:Name="richTextColumns" Margin="117,0,117,47">
<RichTextBlock x:Name="richTextBlock" Width="560" Style="{StaticResource ItemRichTextStyle}">
<Paragraph>
<Run FontWeight="SemiLight" Text="{Binding Content}"/>
</Paragraph> ...

Content 是我模型上的一个字符串属性,我使用 HtmlUtilities.ConvertToText(html)

这很完美。但是,我需要文章中的图片和标题(h1、h2 等)。

我的问题是实现此目标的最佳方法是什么?

解析 html 并创建运行、包含图像等的内联 ui 容器不是问题。为此,我正在使用 html 敏捷包,但我的问题是如何将这些元素添加到 richtextblocks block 集合中?

我尝试在翻转 View 上加载一个事件,然后获取当前翻转 View 依赖对象(this.flipView.ItemContainerGenerator.ContainerFromIndex(flipView.SelectedIndex); 然后遍历节点树以查找richtextblock 然后设置 blocks 属性,但它适用于第一个项目然后停止工作我猜这与翻转 View 如何虚拟化集合有关。

老实说,这肯定是一项简单的任务,它真的让人感到困惑!? xaml 团队肯定意识到人们可能想要将图像绑定(bind)到富文本 block 吗?

我认为您可以将富文本 block 的内容绑定(bind)到我的模型上的一个属性,然后返回 block ,但富文本 block 似乎没有任何方法可以做到这一点,至少从我能看到什么。

如果有人能帮助我,我将不胜感激。这让我发疯。

最佳答案

我基本上遇到了同样的问题。我的解决方案是将 HTML 分解为一个段落列表,并使用提到的 this.flipView.ItemContainerGenerator.ContainerFromIndex(flipView.SelectedIndex) 找到 RichTextBlock,清除其内联并将所有段落添加到内联集合。 FlipView 的 SelectedItemChanged 事件的调用过程

关于c# - 虚拟化翻转 View 中的 XAML RichTextBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com