Как страница знает, когда страница разрыва, вызванная пользователемC#

Место общения программистов C#
Ответить
Anonymous
 Как страница знает, когда страница разрыва, вызванная пользователем

Сообщение Anonymous »

Maui Shell App. На моей странице ThingListView есть обзор элементов, заполненных запросом SQLite. Страница A также имеет элемент управления SearchBar, который фильтрует список. Работает прекрасно.SelectionChangedCommand="{Binding GoToDetailsCommand}">
< /code>
В Vewmodel ThingListView у меня есть: < /p>
[RelayCommand]
private async Task GoToDetails()
{
if (selectedItem == null)
return;

await NavigateToDetails(selectedItem, false);
}
< /code>
Это заставляет ThingDetailSView открыть для того, чтобы показать подробную информацию о том, на что нажал пользователь. Работает отлично. В случае (а) Мауи скользит страницу ThingDetailSView, закрытая, чтобы раскрыть страницу CallingListView. Случаи (b) и (c) сделать то же самое с окончательной линией в соответствующих реле: < /p>
await Shell.Current.Navigation .PopAsync();
< /code>
В каждом из этих случаев пользователь возвращается в ThingListView. Работает отлично. < /P>
Теперь вот проблема. Если пользователь использовал SearchBar для фильтрации CollectionView, и пользователь возвращается на страницу ThingsListView, я хочу, чтобы Maui очистил бывший текст поиска из управления SearchBar. Что я на самом деле получаю, так это возвращение к ThingListView с предыдущим текстом поиска пользователя все еще там. Если бы я мог поймать это событие, я мог бы прояснить, что SearchBar без проблем. Я подумал о том, чтобы каким-то образом передавать некоторые данные обратно в shell.current.navigation .popasync (), но даже если бы я мог найти способ сделать это, это не поможет, если пользователь использует Manoever (A), чтобы вернуться на страницу ThingListView- потому что код ThingDetailsModel не работает, когда пользователь нажимает

Подробнее здесь: https://stackoverflow.com/questions/797 ... ets-closed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»