Я новичок в Xamarin вместе с c # и xaml, так что это был довольно полезный опыт. Я пытаюсь сделать то, что я думал, было бы простой задачей (отменить выбор сборщика), но это оказалось довольно сложной задачей.
Желаемая функциональность: страница с выбором средства выбора, сделать выбор, сохранить выборку в переменной, перейти на другую страницу и затем очистить сделанный выбор, чтобы при возврате на первую страницу выбор не делался.
Я пытался использовать picker.Items.Clear () и установить SelectedIndex = -1, но я последовательно получил исключение OutOfRangeException. Я попробовал этот пост, но не смог заставить работать какие-либо опции: Как очистить пикар, если он выбран в формах xamarin?
Я не хочу устанавливать средство выбора на первую опцию, я хочу, чтобы он был пустым, чтобы отображался заголовок средства выбора, как он работает при первом запуске, но когда я делаю выбор и перехожу на следующую страницу , когда я возвращаюсь, мой первоначальный выбор все еще сделан.
Надеюсь, все имеет смысл, чего я пытаюсь достичь. Ниже приведен мой основной код, любая помощь или направление будут с благодарностью.
MainPage.xaml:
<StackLayout>
<Label Text="Select an option:"
VerticalOptions="Start"
HorizontalOptions="Start"
/>
<Picker x:Name="OptionSelect"
Title="Click to Select"
SelectedIndexChanged="OptionSelect_OnSelectedIndexChanged"
/>
</StackLayout>
MainPage.xaml.cs:
public MainPage()
{
InitializeComponent();
OptionSelect.Items.Add("Option 1");
OptionSelect.Items.Add("Option 2");
OptionSelect.Items.Add("Option 3");
}
public void OptionSelect_OnSelectedIndexChanged(object sender, EventArgs e)
{
var option = OptionSelect.Items[OptionSelect.SelectedIndex];
//OptionSelect.Items.Clear();
//OptionSelect.Items.Add("Option 1");
//OptionSelect.Items.Add("Option 2");
//OptionSelect.Items.Add("Option 3");
//OptionSelect.SelectedIndex = -1;
Navigation.PushAsync(new Page1());
}