2016-06-01 10 views
7

Czy pojęcie z-index? Zdjęcie pokazuje, że nie ma nakładania. enter image description here Jak ustawić indeks Z? dwóch najlepszych zwyczaj zaznaczaniaJak nakładają się w formularzach Xamarin?

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

i cała reszta. Wykres danych, e.t.c

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

BoxSelector.xaml (widok z Treść) wielokrotnego contentView rozciąga

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

Obawiam się, że nie rozumiem twojego pytania. Mówisz, że obraz nie pokrywa się, ale "nakładanie się" oznacza, że ​​jedna rzecz jest narysowana nad inną, którą obraz wyraźnie pokazuje. Próbujesz ukryć leżącą pod nią warstwę? –

+0

Tak, po kliknięciu – bleggleb

+1

Wygląda na to, że jedyne, czego brakuje, to nieprzejrzyste tło na górnej warstwie - elementy takie jak "" nie mają zestawu kolorów tła i dlatego domyślnie są przezroczyste. Więc jakikolwiek element jest twoją "górną warstwą", potrzebuje tylko 'BacgkroundColor =" # f9f9f9 "' aby osiągnąć pożądany efekt. – Joe

Odpowiedz

15

nakładania elementów ustala uporządkowania elementów dla dziecka w elemencie pojemnika. Pierwsze dziecko znajduje się z tyłu stosu Z, drugie dziecko jest umieszczone nad nim i tak dalej.

Używany kontener układu dyktuje sposób rozmieszczenia każdego dziecka. A StackLayout nie pozwoli na nakładanie się. AbsoluteLayout i RelativeLayout umożliwiają łatwe nakładanie się. A Grid pozwoli na nakładanie się elementów, które rozciągają się w tym samym rzędzie i kolumnie. Żadne z nich nie ma własnego wyglądu (domyślnie są to przezroczyste pola). Jeśli chcesz, aby zamknęły się za nimi treści, musisz przypisać kolor tła lub obraz, w przeciwnym razie zostaną one pomalowane tuż nad pozostałą treścią.

+1

Wszystko w XF? – Shimmy