Search code examples
c#xmlxamlpicker

if i select 1 first, then user change item selected why it won't change corresponding picker?


if user picks 2 first then it's ok to change item selected to 1, but if 1 gets selected it wont change the corresponding number of pickers to show 2 pickers, why wont it change?

 void ItemSelected(object sender, System.EventArgs e)
 {
    //to get value user selected
    //var drainx = drain.Items[drain.SelectedIndex];
    //DisplayAlert(drainx, "selected Value", "OK");

    string drainxy = drain.Items[drain.SelectedIndex]; 


    switch (drainxy)
    {
    case "1":
    DisplayAlert(drainxy, "selected Value", "OK");
    drainPicker1();
    drain2Picker.IsVisible = false;
    drain3Picker.IsVisible = false;
    drain4Picker.IsVisible = false;
    break;
    case "2":
    DisplayAlert(drainxy, "selected Value", "OK");
    drainPicker1();
    drainPicker2();
    drain3Picker.IsVisible = false;
    drain4Picker.IsVisible = false;
    break;
    }
 }

"regarding drain and picker"

<Picker x:Name="drain" Title="Drain #" 
Margin="190,-30,50,0" TextColor="{StaticResource pinkColor}"
SelectedIndexChanged="ItemSelected"/>  

<Picker x:Name="drain1Picker" Title="Drain 1 Location" />
<Picker x:Name="drain2Picker" Title="Drain 2 Location" />
<Picker x:Name="drain3Picker" Title="Drain 3 Location" />
<Picker x:Name="drain4Picker" Title="Drain 4 Location" />

Solution

  • switch (drainxy)
        {
        case "1":
        DisplayAlert(drainxy, "selected Value", "OK");
        drainPicker1();
        drain2Picker.IsVisible = false;
        drain3Picker.IsVisible = false;
        drain4Picker.IsVisible = false;
        break;
        case "2":
        DisplayAlert(drainxy, "selected Value", "OK");
        drainPicker1.IsVisible = true;
        drainPicker2.IsVisible = true;
        drain3Picker.IsVisible = false;
        drain4Picker.IsVisible = false;
        break;
        }
     }