微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin.Forms:具有ContentView的可重用错误视图,如何设置图像源?

如何解决Xamarin.Forms:具有ContentView的可重用错误视图,如何设置图像源?

我正在尝试创建带有ContentView可重用错误视图控件,以显示与API调用相关的错误,如无网络,超时,服务器问题,...

此视图将包含:图像,标题和简短说明。就我而言,该图片基于FontimageSource

我的ErrorControl视图如下:

<ContentView.Content>
    <Grid>
        <Grid.RowDeFinitions>
            <RowDeFinition Height="*" />
            <RowDeFinition Height="Auto" />
        </Grid.RowDeFinitions>
        <StackLayout BackgroundColor="Transparent"
                     Spacing="0"
                     VerticalOptions="Center">
            <Grid>
                <Image Style="{StaticResource ErrorImageIconPart1Style}">
                    <Image.source>
                        <FontimageSource Glyph="{StaticResource FadsIconNoInternetPart1}"
                                         Color="{StaticResource BlondColor}"
                                         FontFamily="FontAwesomeDuotonesolid"
                                         Size="90" />
                    </Image.source>
                </Image>
            </Grid>
            <Label Text="{Binding Description,Source={x:Reference ErrorControl}}" />
        </StackLayout>
        <Button Grid.Row="1"
                Text="Retry" />
    </Grid>
</ContentView.Content>

我这样使用控件:

<ctrl:ErrorView Title="Title Test"
                Description="Description Test"/>

如果我有静态图像,则可以正常工作,但是我需要根据错误类型更改Glyph使用的FontimageSource

什么是实现此目标的更好方法

  • 我曾经考虑使用Converters,但是由于我至少有3种错误,这似乎不是一个方法,因为我必须创建3个转换器
  • 我还考虑过使用DataTemplate,但是我的图像未包含在“收藏夹/列表”中,因此这似乎并不能满足我的需求

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。