我有一个ListView
,其中包含自定义视图ViewCell
。
此自定义视图是Label
,用于呈现HTML内容。
所有工作都有效,除非ViewCell
退出屏幕时标签丢失了HTML格式并显示HTML标记。
这是IOS中的自定义渲染器(在Android上也是同样的问题):
[assembly: ExportRenderer(typeof(LabelHtmlView), typeof(LabelHtmlCustomRenderer))]
namespace SgatMobileV2.iOS {
public class LabelHtmlCustomRenderer : LabelRenderer {
protected override void OnElementChanged(ElementChangedEventArgs<Label> e) {
base.OnElementChanged(e);
var View = (LabelHtmlView)Element;
if (View == null) return;
var Attribute = new NSAttributedStringDocumentAttributes();
var NsError = new NSError();
Attribute.DocumentType = NSDocumentType.HTML;
Control.AttributedText = new NSAttributedString(View.Text, Attribute, ref NsError);
}
}
}
这是ListView代码:
<ListView x:Name="ListaRigheWo" CachingStrategy="RecycleElement"
HasUnevenRows="True" SeparatorVisibility="Default"
ItemsSource="{Binding ListaWORighe}">
[...]
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
[...]
<view:LabelHtmlView
Text="{Binding DescrizioneIntervento}" Grid.Row="1" Grid.Column="2"
Grid.ColumnSpan="4" Style="{StaticResource LblValore}" />
我该如何解决这个问题?
谢谢!