2016-06-01 47 views
7

Z indeksi kavramı var mı? Resim, çakışma olmadığını gösterir. enter image description here Z dizini nasıl ayarlanır? üst iki özel seçme kutusuXamarin formlarında üst üste nasıl geçilir?

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

Ve her şey. Grafik, veri e.t.c

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

BoxSelector.xaml (içerik görünüm), Yeniden contentView

<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

Korkarım ki sorunuzu anlamıyorum. Resmin üst üste gelmediğini söylüyorsunuz, fakat "üst üste binme", bir şeyin diğerinin üzerine çizildiği ve resmin açıkça gösterdiği anlamına gelir. Alttaki katmanı gizlemeye mi çalışıyorsunuz? –

+0

Evet, – bleggleb

+1

tıklatıldıktan sonra, eksik olan tek parça üst katmanda opak bir arka plan gibi görünüyor - gibi öğeler - arka plan rengi ayarına sahip değil ve bu nedenle varsayılan olarak saydam değil. Yani, "üst katman" nız herhangi bir öğe ise, istediğiniz efekti elde etmek için sadece bir "BacgkroundColor =" # f9f9f9 "' a ihtiyaç duyar. – Joe

cevap

15

Z endeksi muhafaza elemanı Çocuk elemanlarının sıralamasından kurulur uzanır. İlk çocuk Z yığınının arkasında, ikinci çocuk onun üzerine yerleştirilir, vb.

Kullandığınız düzen kabı, her çocuğun nasıl konumlandırılacağını belirler. Bir StackLayout, çakışmalara izin vermez. AbsoluteLayout ve RelativeLayout, üst üste bindirmelere kolayca izin verecektir. Bir Grid, aynı satır ve sütuna uzanan öğeler için üst üste binmeye izin verecektir. Bunların hiçbiri kendi görünümüne sahip değil (varsayılan olarak şeffaf kutular olarak düşünün). Bunların arkasındaki içeriği engellemelerini istiyorsanız, o zaman bir arka plan rengi veya resmi atamanız gerekecektir, aksi takdirde diğer içeriğin hemen üstüne boyanacaktır.

+1

XF'de bir şey var mı? – Shimmy

İlgili konular