Est-ce que le concept de z-index? L'image montre qu'il n'y a pas de chevauchement. Comment configurer le z-index? les deux premières cases de sélection personnalisées
<AbsoluteLayout Padding="10,10,10,10" VerticalOptions="FillAndExpand">
<ui:BoxSelector x:Name="selectorExchangs"
AbsoluteLayout.LayoutBounds="0,0,0.5,0.3"
AbsoluteLayout.LayoutFlags="All"
BackgroundColor="Transparent"
CommandAfterChanged="{Binding ExchangesAfterChangedCommand}"
Items="{Binding ExchangesList}"
LabelPath="Name"
PanelColor="#f9f9f9"
SelectedItem="{Binding SelectedExchange}"
SelectorLabel="EXCHANGE" />
<ui:BoxSelector AbsoluteLayout.LayoutBounds="1,0,0.5,0.3"
AbsoluteLayout.LayoutFlags="All"
BackgroundColor="Transparent"
CommandAfterChanged="{Binding TradingPairAfterChangedCommand}"
Items="{Binding AvailableTradinPairsList}"
LabelPath="PriceCurrencyName"
PanelColor="#f9f9f9"
SelectedItem="{Binding SelectedTraingPair}"
SelectorLabel="CURRENCY" />
Et tout le reste. Graphique, données, e.t.c
<StackLayout AbsoluteLayout.LayoutBounds="1,1,1,0.9" AbsoluteLayout.LayoutFlags="All">...</StackLayout>
BoxSelector.xaml (vue de contenu), ContentView réutilisable étend
<ContentView.Resources>
<ResourceDictionary x:Name="AppDictionary">
<Color x:Key="BackgroundColor">#f9f9f9</Color>
<Color x:Key="BorderColor">#e2e2e2</Color>
<Style x:Key="InternalViewStyle" TargetType="ContentView">
<Setter Property="BackgroundColor" Value="{StaticResource BackgroundColor}" />
<Setter Property="VerticalOptions" Value="Fill" />
<Setter Property="Padding" Value="5,5,5,5" />
</Style>
<Style x:Key="BorderStyle" TargetType="ContentView">
<Setter Property="BackgroundColor" Value="{StaticResource BorderColor}" />
<Setter Property="Padding" Value="1,1,1,1" />
</Style>
</ResourceDictionary>
</ContentView.Resources>
<StackLayout BindingContext="{x:Reference Name=ContentView}" HorizontalOptions="FillAndExpand">
<ContentView BackgroundColor="#f5f5f5" HorizontalOptions="FillAndExpand">
<StackLayout>
<ContentView Style="{StaticResource BorderStyle}">
<ContentView Style="{StaticResource InternalViewStyle}">
<StackLayout Orientation="Horizontal">
<StackLayout x:Name="selectorBox"
BackgroundColor="{Binding PanelColor}"
HorizontalOptions="FillAndExpand"
Orientation="Horizontal">
<StackLayout HorizontalOptions="StartAndExpand" Orientation="Horizontal">
<Label FontSize="12"
HorizontalOptions="FillAndExpand"
Text="{Binding SelectorLabel}"
TextColor="#cccccc" />
<Label x:Name="valueLabe"
BackgroundColor="{Binding PanelColor}"
FontSize="13"
HorizontalOptions="FillAndExpand"
Text="Choose"
TextColor="#313131" />
</StackLayout>
<StackLayout HorizontalOptions="EndAndExpand">
<Label Text="+" TextColor="#313131" />
</StackLayout>
</StackLayout>
</StackLayout>
</ContentView>
</ContentView>
<Grid x:Name="boxSelectorGrid"
BackgroundColor="#f5f5f5"
Padding="10,10,10,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
</Grid>
</StackLayout>
</ContentView>
</StackLayout>
Le Z-Index est établi par l'ordre des éléments enfants dans un élément conteneur. Le premier enfant est à l'arrière de la pile Z, le deuxième enfant est placé au-dessus, etc.
Le conteneur de disposition que vous utilisez déterminera la position de chaque enfant. Un StackLayout
ne permettra pas les chevauchements. AbsoluteLayout
et RelativeLayout
permettront les chevauchements facilement. Un Grid
permettra le chevauchement des éléments qui s'étendent dans la même ligne et colonne. Aucun d'entre eux n'a sa propre apparence (pensez-y comme des boîtes transparentes par défaut). Si vous souhaitez qu'ils masquent le contenu derrière eux, vous devrez attribuer une couleur ou une image d'arrière-plan, sinon ils seront juste peints juste au-dessus de l'autre contenu.