Finora, la maggior parte degli esempi che utilizzano Xamarin.Forms utilizza C# per creare l'interfaccia utente. Preferisco usare XAML per l'interfaccia utente e collegarlo a ViewModels.Associazione dati in XAML per MasterDetailPage in Xamarin.Forms
Non riesco a utilizzare Xamarin.Forms.MasterDetailPage in combinazione con XAML e non riesco a trasferire l'esempio C# in XAML + ViewModels.
Questa è la XAML ho ottenuto finora:
<?xml version="1.0" encoding="UTF-8" ?>
<MasterDetailPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:NSContacten;assembly=NSContacten"
x:Class="MasterDetailExample.Main"
Title="Master Detail Example">
<MasterDetailPage.Master BindingContext="{Binding Menu}">
<ContentPage Padding="5, 25">
<StackLayout Orientation="Vertical">
<Label Text="Master" HorizontalOptions="Center" />
<Label Text="{Binding Subtitle}" HorizontalOptions="Center" />
</StackLayout>
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail BindingContext="{Binding Detailpage}">
<ContentPage Padding="5, 25">
<StackLayout Orientation="Vertical">
<Label Text="Detail" HorizontalOptions="Center" />
<Label Text="{Binding Subtitle}" HorizontalOptions="Center" />
</StackLayout>
</ContentPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
Il componente funziona: lo faccio vedere il 'Master' e le etichette 'dettaglio'. Le etichette associate (sugli oggetti BindingContext) non vengono visualizzate.
Ho usato un sacco di combinazioni diverse, ma sono ancora bloccato: come funziona? Il mio binding non è corretto (dovrebbe essere su "ContentPage"), non posso collegarmi alle proprietà .Master e .Detail ecc.? Come dovrebbero apparire i collegamenti "Menu" e "Detailpage"?
Sarebbe un grande aiuto se qualcuno potesse darmi una mano! Il prossimo passo sarebbe che il .Detail verrà modificato quando un pulsante viene premuto in .Master. Grazie in anticipo!
Grazie per aver chiesto questa domanda! Mi ci è voluto un giorno per cercare di capirlo e non avrei avuto senza questa domanda. –