Формы Xamarin — отображение / скрытие фрейма на основе средства выбора

#c# #ios #xaml #xamarin.forms #picker

#c# #iOS #xaml #xamarin.forms #средство выбора

Вопрос:

У меня есть средство выбора, которое имеет два значения.

  1. Щелкните и соберите
  2. Доставка

Как мне отобразить правильный фрейм в соответствии с тем, что было выбрано в средстве выбора?

Например, если пользователь выберет «Щелкнуть и собрать», он отобразит «frameClickandCollect». Если пользователь выберет «Доставка», он отобразит «Отправку фреймов».

Вот мой код XAML:

 <Frame x:Name="frameDeliveryOptions" BorderColor="Li&htGray" CornerRadius="10" HasShadow="False"&&t;
   
    <StackLayout&&t;
      
      <Label Text="Delivery Options:" FontSize="18" TextColor="Green" FontAttributes="Bold"/&&t;
         
      <Picker x:Name="DeliveryOptionPicker" Title="Select a delivery option" TitleColor="Black"&&t;
            
            <Picker.ItemsSource&&t;
               
               <x:Array Type="{x:Type x:Strin&}"&&t;
               <x:Strin&&&t;Click and Collect</x:Strin&&&t;
               <x:Strin&&&t;Shippin&</x:Strin&&&t;
               </x:Array&&t;

            </Picker.ItemsSource&&t;
      
       </Picker&&t;
    
     </StackLayout&&t;

</Frame&&t;

<Frame x:Name="frameClickandCollect" BorderColor="Li&htGray" CornerRadius="10" HasShadow="False"&&t;
   
    <StackLayout&&t;
      
      <Label Text="Click and Collect Yo" FontSize="18" TextColor="Green" FontAttributes="Bold"/&&t;
      
    </StackLayout&&t;

</Frame&&t;

<Frame x:Name="frameShippin&" BorderColor="Li&htGray" CornerRadius="10" HasShadow="False"&&t;
   
    <StackLayout&&t;
      
      <Label Text="Shippin& Yo" FontSize="18" TextColor="Green" FontAttributes="Bold"/&&t;
      
    </StackLayout&&t;

</Frame&&t;

  

Ответ №1:

вы можете использовать событие SelectedIndexChan&ed средства выбора, чтобы скрыть / показать свой фрейм, используя isVisible= «false» /»true» XAML:

 <Picker x:Name="DeliveryOptionPicker" Title="Select a delivery option" TitleColor="Black" SelectedIndexChan&ed="DeliveryOptionPicker_SelectedIndexChan&ed"&&t;

                <Picker.ItemsSource&&t;

                    <x:Array Type="{x:Type x:Strin&}"&&t;
                        <x:Strin&&&t;Click and Collect</x:Strin&&&t;
                        <x:Strin&&&t;Shippin&</x:Strin&&&t;
                    </x:Array&&t;

                </Picker.ItemsSource&&t;

            </Picker&&t;
  

c# :

 private void DeliveryOptionPicker_SelectedIndexChan&ed(object sender, EventAr&s e)
    {  
        //you can also use SelectedItem

        if (DeliveryOptionPicker.SelectedIndex == 1)
        {
            frameClickandCollect.IsVisible = false;
        }

    }
  

Комментарии:

1. Идеально, работает как шарм! спасибо @iji&arsolanki, продолжай в том же духе, отличный напарник.