negocio libro example aplicaciones acción c# xaml layout xamarin xamarin.forms

c# - libro - ¿Cómo se superponen las formas de Xamarin?



xamarin gridview example (1)

¿El concepto de z-index? La imagen muestra que no hay superposición. Cómo configurar z-index? los dos primeros cuadros de selección personalizados

<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" />

Y todo lo demás. Gráfico, datos, etc.

<StackLayout AbsoluteLayout.LayoutBounds="1,1,1,0.9" AbsoluteLayout.LayoutFlags="All">...</StackLayout>

BoxSelector.xaml (vista de contenido), ContentView reutilizable se extiende

<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>


Z-Index se establece ordenando los elementos secundarios en un elemento contenedor. El primer niño está en la parte posterior de la pila Z, el segundo niño se coloca arriba, y así sucesivamente.

El contenedor de diseño que está utilizando dictará cómo se posiciona cada niño. Un StackLayout no permitirá superposiciones. AbsoluteLayout y RelativeLayout permitirán superposiciones fácilmente. Una Grid permitirá la superposición de elementos que se extienden a la misma fila y columna. Ninguno de estos tiene una apariencia propia (piense en ellos como cuadros transparentes por defecto). Si desea que ocluyan el contenido detrás de ellos, tendrá que asignar un color de fondo o una imagen, de lo contrario, simplemente se pintarán sobre el otro contenido.