В моем приложении есть экран, который позволяет администраторам редактировать / создавать пользователей. На этом экране есть информация, которую я установил, если пользователь существует, путем переопределения метода OnAppearing()
.
EmployeeFull fullEmployee = new EmployeeFull();
fullEmployee.Employee = _employee;
fullEmployee.Locations = await _clientBl.GetLocations();
fullEmployee.SelectedLocationIndex = fullEmployee.Locations.FindIndex(x => x.LocationID == _employee.LocationID);
BindingContext = fullEmployee;
На экране, помимо другой информации, есть два сборщика, первый, если установлен черезкод выше и показывает информацию о местоположении. Если пользователь в данный момент находится в местоположении, он выбрал SelectedIndex
средства выбора.
XAML-код для двух средств выбора:
<!--Location-->
<Picker ItemDisplayBinding ="{Binding Name}"
Title="-Select a Location-"
x:Name="location_picker"
ItemsSource="{Binding Locations}"
SelectedIndex="{Binding SelectedLocationIndex}"
SelectedIndexChanged="Location_picker_SelectedIndexChanged"></Picker>
<!--SiteLocation (Populated from location choice)-->
<Picker Title="-Select a Site-"
x:Name="site_picker"></Picker>
Когда пользователь выбирает значение из первогосборщик, метод onchange
применяется в .cs
, однако я не знаю, как установить информацию во втором сборщике на основе этого.
Есть ли в любом случае вы можете установить данные привязкисборщик, используя его имя, так же, как вы можете сделать с listView
и т. д.
РЕДАКТИРОВАТЬ: Предпочтительный способ настроить второй сборщик будет очень похож на первый. У меня есть selectedSitelocationIndex
целое число, которое я бы установил, используя siteLocationID
против пользователя. Затем я хотел бы заполнить второй сборщик всеми местоположениями сайта относительно выбранного местоположения в первом сборщике.