首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么这个Xamarin标签文本显示html标记?(从后面的代码绑定)

为什么这个Xamarin标签文本显示html标记?(从后面的代码绑定)
EN

Stack Overflow用户
提问于 2022-02-19 21:14:20
回答 1查看 132关注 0票数 1

你们都很有帮助。

我在集合视图中有一个绑定Text="{Binding PAllText}"的标签。

代码语言:javascript
运行
复制
<CollectionView x:Name="collectionView">
                <CollectionView.ItemTemplate>
                    <DataTemplate>
                    <Grid Margin="0" Padding="0,0,0,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="25" />
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>
                            <BoxView Color="#333130" Margin="0"></BoxView>


                                <Label TextType="Html" Grid.ColumnSpan="6" HorizontalOptions="Start" VerticalOptions="Center"
                                       Text="{Binding AllHTMLText}"/>



                    </Grid>
                    </DataTemplate>
                </CollectionView.ItemTemplate>
            </CollectionView>

在后面的代码中,我有这样的东西:

代码语言:javascript
运行
复制
PersonClass.AllHTMLText = ("<![CDATA[<p><strong style=\"color:red\"> " + (newLineText.Substring(14, 9)) + "</strong></p><br/>");

我也尝试过这样做:

代码语言:javascript
运行
复制
PersonClass.AllHTMLText = ("&lt;p&gt;&lt;strong style=&quot;color:red&quot;&gt; " + (newLineText.Substring(14, 9)) + "&lt;/strong&gt;&lt;/p&gt;&lt;br/&gt;");

结果看起来是这样的:

代码语言:javascript
运行
复制
<p style="color:white"><strong style="color:red">Text from a database here</strong></p>

我想要的结果是“文本从一个数据库在这里”和它是红色的颜色。

有人能帮助或解释如何在TextType="Html"中使用Xamarin标签吗?

从后面的代码中绑定标签。

代码语言:javascript
运行
复制
Text="{Binding PAllText}"

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 01:51:37

对于xaml页面,您已经设置了TextType="Html",因此只需要将绑定的数据设置为正确的格式。

以下是xaml代码:

代码语言:javascript
运行
复制
<StackLayout>
    <Label TextType="Html"  HorizontalOptions="Start" VerticalOptions="Center"
           x:Name="mytest"/>
</StackLayout>

以下是背景代码:

代码语言:javascript
运行
复制
 mytest.Text = "<font size='3' color='red'>This is some text!</font>";

您可以参考我上面的代码,并使用正确的Html样式来正确显示它。

对于HTML代码中的双引号,您需要用单引号替换它们。

有关字符串替换,请参阅:C#替换

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71189253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档