Я использую WebView как элемент в GridView в UWP.Целью этого приложения является отображение файлов SVG, которые впоследствии могут быть отредактированы пользователем.
История Выбор WebView вместо SvgImageSource
обусловлен качеством Svgs.составляет 100% (без пикселей), поэтому после многих неудачных попыток получить гладкие изображения с помощью Win2D я, наконец, выбрал единственно верный способ визуализации Svg, а именно WebView
.В качестве примечания, наши Svgs сделаны только из путей, и рендеринг пути Xaml от Svgs значительно снизил производительность уже для одного файла SVG (около 300 КБ), так что, к сожалению, это не вариант.Итак, вернемся к WebView
:
<DataTemplate x:Key="SvgThumbnailItemTemplate" x:DataType="inkWorkPage:SvgThumbnail">
<WebView Source="{x:Bind UriSource}" Width="100" Height="100"/>
</DataTemplate>
и GridView
<GridView Grid.Row="1" Grid.Column="1"
ItemsSource="{x:Bind SvgImages}"
ItemTemplate="{StaticResource SvgThumbnailItemTemplate}"
ItemClick="SvgImagesGridView_ItemClick"/>
. Что происходит, так это то, что каждый файл SVG загружается в свой WebView и отображается без проблем, но я не могунажмите только один раз на Предмет (событие запускается), но выбор остается за этим предметом, и я больше не могу нажимать ни на один предмет.и тому подобное, но как я могу решить эту проблему?
ps: я знаю, что WebView
в GridView
, возможно, слишком много, поскольку я смотрю только на отображение правильных изображений, но это единственный способпоказать родной SVG, который я могу достичь сейчас.