В настоящее время я работаю над пользовательской картой-листовкой, которую загружаю с помощью веб-представления в моем xaml, где пользователь может выполнять несколько действий, таких как добавление и удаление существующих маркеров. Проблема, с которой я столкнулся, заключается в передаче данных из этого веб-представления обратно в мой код C#.
Структура:
- Map.xaml; содержит мое веб-представление
- Map.xaml.cs; установите изображение на карте и получите значения из моего веб-просмотра
- Map.html; Листовка и все функции карты
Я попробовал использовать скрытые поля, куда помещал изменения, внесенные пользователем. Поэтому всякий раз, когда пользователь удалял элемент, я помещал этот элемент в скрытое поле DeletedMarkers. Затем возвращаясь в свой xaml.cs, я использую:
Код: Выделить всё
var deleteMarkerData = await webView.EvaluateJavaScriptAsync("document.getElementById('deleteMarkerData').value");
здесь я получаю либо пустое значение, либо объект-маркер, который я удалил. Я продолжаю повторять это каждые 0,2 секунды, чтобы проверить, есть ли что-нибудь внутри этого объекта. Это работает, и я получаю объект правильно, без особой заметной задержки, но теперь мне интересно, есть ли какой-нибудь способ перенести этот объект из моего веб-просмотра в мой xaml.cs более эффективным способом.
Есть предложения?
Изменить
Наконец-то я получил ответ, см. ниже.>
Подробнее здесь:
https://stackoverflow.com/questions/784 ... rp-in-maui