问题描述
我有一个具有两个值的选择器。
- 点击并收集
- 运输
如何根据选择器中选择的内容显示正确的帧?
例如,如果用户选择“单击并收集”,它将显示“ frameClickandCollect”。如果用户选择“发货”,则会显示“ frameShipping”。
这是我的XAML代码:
<Frame x:Name="frameDeliveryOptions" BorderColor="LightGray" CornerRadius="10" HasShadow="False">
<StackLayout>
<Label Text="Delivery Options:" FontSize="18" TextColor="Green" FontAttributes="Bold"/>
<Picker x:Name="DeliveryOptionPicker" Title="Select a delivery option" TitleColor="Black">
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Click and Collect</x:String>
<x:String>Shipping</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
</StackLayout>
</Frame>
<Frame x:Name="frameClickandCollect" BorderColor="LightGray" CornerRadius="10" HasShadow="False">
<StackLayout>
<Label Text="Click and Collect Yo" FontSize="18" TextColor="Green" FontAttributes="Bold"/>
</StackLayout>
</Frame>
<Frame x:Name="frameShipping" BorderColor="LightGray" CornerRadius="10" HasShadow="False">
<StackLayout>
<Label Text="Shipping Yo" FontSize="18" TextColor="Green" FontAttributes="Bold"/>
</StackLayout>
</Frame>
解决方法
您可以使用IsVisible =“ false” /“ true”使用选择器SelectedIndexChanged事件来隐藏/显示框架 XAML:
<Picker x:Name="DeliveryOptionPicker" Title="Select a delivery option" TitleColor="Black" SelectedIndexChanged="DeliveryOptionPicker_SelectedIndexChanged">
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Click and Collect</x:String>
<x:String>Shipping</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
c#:
private void DeliveryOptionPicker_SelectedIndexChanged(object sender,EventArgs e)
{
//you can also use SelectedItem
if (DeliveryOptionPicker.SelectedIndex == 1)
{
frameClickandCollect.IsVisible = false;
}
}