FFImageLoading, SVGCachedImage размыто при установке HeightRequest / WidthRequest из привязки - PullRequest
0 голосов
/ 04 марта 2020

Я использую FFImageLoading для отображения значков SVG в моем проекте Xamarin.Forms. Насколько я понимаю, запросы высоты и ширины должны быть установлены явно, чтобы SVG отображался правильно. Я получаю много пикселей, когда пытаюсь связать запросы высоты / ширины со значениями в ViewModel (у меня это как необходимость, потому что желаемый размер зависит от данных). Если я устанавливаю размер явно, все выглядит хорошо.

Разве SvgCachedImage не перерисовывает SVG всякий раз, когда меняются привязки для запроса высоты / ширины?

Если нет, есть ли способ для меня явно принудительно заставить их сделать недействительными и перерисовать при изменении размера?

1 Ответ

0 голосов
/ 06 марта 2020

Проблема размытия была решена путем установки горизонтальных и вертикальных параметров для заполнения вместо центра:

<Grid>
                                <ffimageloadingsvg:SvgCachedImage  BackgroundColor="Transparent"
                                                              Margin="{Binding HarmonicIconMargin}"
                                                              HorizontalOptions="Fill"
                                                              VerticalOptions="Fill"
                                                              WidthRequest="{Binding HarmonicIconWidth}"
                                                              HeightRequest="{Binding HarmonicIconWidth}"
                                                              Source="{Binding CurrentTestItem, Converter={StaticResource TestItemToHarmonicIconConverter}}" />
                            </Grid>

В этот момент казалось, что игнорируются запросы высоты / ширины. Я мог бы поэкспериментировать с этим больше (возможно, запрос был на слишком много места), но я обнаружил, что привязка поля к вычисляемому свойству эффективно позволяет мне контролировать размер изображения SVG, не делая его размытым.

...