Layout twoPaneView di Xamarin.Forms

Il controllo TwoPaneView è disponibile in Xamarin.Forms.DualScreen NuGet anteprima. Il codice seguente illustra un semplice esempio xaml:

<ContentPage xmlns:dualScreen="clr-namespace:Xamarin.Forms.DualScreen;assembly=Xamarin.Forms.DualScreen">
    <dualScreen:TwoPaneView>
        <dualScreen:TwoPaneView.Pane1>
            <StackLayout>
                <Label Text="Pane1 Content" />
            </StackLayout>
        </dualScreen:TwoPaneView.Pane1>
        <dualScreen:TwoPaneView.Pane2>
            <StackLayout>
                <Label Text="Pane2 Content" />
            </StackLayout>
        </dualScreen:TwoPaneView.Pane2>
    </dualScreen:TwoPaneView>
</ContentPage>

Per impostazione predefinita, TwoPaneView tenterà di eseguire sempre il rendering di entrambi i riquadri, il che significa che quando l'app è in esecuzione su un solo schermo, la visualizzazione verrà suddivisa tra i due riquadri. Le proprietà seguenti possono essere usate per influire sul layout quando viene visualizzato solo su una schermata:

  • MinTallModeHeight: indica l'altezza minima del controllo per l'attivazione della modalità Tall.
  • MinWideModeWidth: indica la larghezza minima del controllo per l'attivazione della modalità Wide.
  • Pane1Length : imposta la larghezza di Pane1 in modalità Wide, l'altezza di Pane1 in modalità Tall e non ha alcun effetto in modalità SinglePane.
  • Pane2Length : imposta la larghezza di Pane2 in modalità Wide, l'altezza di Pane2 in modalità Tall e non ha alcun effetto in modalità SinglePane.

In Surface Duo le applicazioni possono estendersi su due schermi. Il controllo TwoPaneView dispone di proprietà aggiuntive che determinano la posizione in cui viene eseguito il rendering dei due riquadri l'uno rispetto all'altro (con singolo o doppio schermo):

  • TallModeConfiguration : in modalità Tall, i riquadri possono essere Top/Bottom, Bottom/Top oppure può essere visualizzato solo un singolo riquadro.
  • WideModeConfiguration : in modalità wide, i riquadri possono essere left/right, right/left o un solo riquadro.
  • PanePriority: indica se visualizzare Pane1 o Pane2 se si sceglie la modalità SinglePane per la modalità Tall o Wide.

Sono disponibili tre modalità di visualizzazione:

  • SinglePane: è attualmente visibile un solo riquadro.
  • Wide: i due riquadri sono disposti orizzontalmente. Un riquadro si trova a sinistra e l'altro a destra. In Surface Duo i due schermi sono in modalità verticale.
  • Tall: i due riquadri sono disposti verticalmente. Un riquadro si trova nella parte superiore e l'altro nella parte inferiore. In Surface Duo i due schermi sono in modalità orizzontale.

Per altre informazioni, vedere la documentazione di Xamarin. Alcune considerazioni sulla progettazione nella documentazione di TwoPaneView UWP si applicano anche al controllo Xamarin.

Risoluzione dei problemi

Se si osserva un comportamento imprevisto o un layout TwoPaneViewda , controllare le istruzioni di configurazione, inclusi il metodo Init e l'attributo ConfigurationChanges .