2015-03-16 3 views
0

Я создаю приложение Xamarin.Forms и столкнулся с проблемой при планировании пользовательского интерфейса. У меня есть форма, которая должна отображать значение, которое может быть одним из нескольких (более 80 вариантов). ListView в форме не является практичным, так как пользователь должен иметь возможность выбирать из нескольких групп верхнего уровня, чтобы перейти к фактическому выбираемому элементу. Например:Xamarin.Forms ListView Approach

Категория 1> Подкатегория 1-1> Вариант 1 ... Вариант 12 Подкатегория 1-2> Вариант 13 ... Вариант 20 Категория 2> Подкатегория 2 -1> Вариант 21 ... Опция 35 Подкатегория 2-2> Опция 36 ... Вариант 50 категория N> Подкатегория N-1> ....... Категория Sub NX> .......

У меня есть страница, в которой перечислены все категории, затем (после выбора) каждой из подкатегорий, а затем в конечном итоге варианты.

Мой вопрос: В этом случае наилучший подход к отображению пустой формы (я попробовал элемент управления Entry, но не смог найти способ перейти на страницу выбора, щелкнув по нему), а затем выбранное значение в форме.

В идеале пользовательский интерфейс будет выглядеть как элемент управления Entry и откроет страницу выбора, как только пользователь удалит элемент управления Entry. Это похоже на довольно простой (и, вероятно, общий) подход, поэтому я чувствую, что мне не хватает чего-то основного.

Заранее благодарен!

ответ

0

Я бы использовал кнопку и метку, где нажатие кнопки запускает Modal с помощью Select ListView, и как только вы закончите выбор, значение будет отображаться в ярлыке.

0

Кнопка в Xamarin.Forms дает вам событие Clicked или свойство bindable Command, которое может быть привязано к ViewModel для обработки логики.

К сожалению, объект Entry не имеет «фокусного» события или подобного. Однако этого легко достичь путем создания пользовательского подкласса Entry и написания для него Renderer клиента. Это позволит вам создать свойство привязки Focussed для использования (см. http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/ для примеров и советов).

0

В моем приложении у меня есть огромная страница поиска с различными ListViews, где пользователь может выбрать один элемент (из 4 000) или несколько элементов.
Я реализовал это с помощью кнопок (выберите xx), а затем покажет PopUp-Control (от XLabs). С помощью PopUp-Control вам не нужно вызывать дополнительные страницы, что облегчит всю логику :-). На PopUp я показываю запись и ListView.
Как только пользователь набирает текст в записи, список (источник данных в ListView) фильтруется «на лету» на набранный текст. Это прекрасно работает даже с 4'000 List-entry's.
Итак, я предлагаю вам решить вашу проблему на этом пути.
Каждый раз, когда персонаж добавляется, я создаю новый список по напечатанному тексту, а переустанавливаю его в ListView в. Таким образом, вы можете, например, добавьте более одной записи в PopUp и затем фильтруйте список для большего количества одного значения в одно и то же время или, возможно, покажите категории один за другим ...

Вы можете найти более подробную информацию, чтобы в PopUp-контроль здесь:

How to use the PopUp-Control

Надежда это помогает ...

Смежные вопросы