La liaison de données dans le code XAML pour MasterDetailPage dans Xamarin.Les formes
Jusqu'à présent, la plupart des exemples à l'aide de Xamarin.Les formes sont à l'aide de C# pour la construction de l'INTERFACE utilisateur. Je préfère l'utilisation de XAML pour l'INTERFACE utilisateur et databind à Viewmodel.
J'ai de la difficulté à l'aide de la Xamarin.Les formulaires.MasterDetailPage en combinaison avec XAML, et je n'arrive pas à port l'exemple en C# pour XAML + Viewmodel.
C'est le XAML j'ai eu jusqu'à présent:
<?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>
Le composant fonctionne: je vois le "Maître" et le "Détail" des étiquettes. La limite des étiquettes (sur la BindingContext objets) ne sont pas affichés.
J'ai utilisé des charges de différentes combinaisons, mais je suis toujours bloqué: Comment cela fonctionne? Est mon de liaison incorrecte (doit-il être sur la "ContentPage"), je ne peux pas lier à l' .Maître et .Propriétés des détails etc.? Comment le "Menu" et "page de détail" liaisons ressembler?
Il serait d'une grande aide si quelqu'un pouvait m'aider! La prochaine étape serait que le .Les détails seront changé lorsqu'un bouton est enfoncé dans le .Maître . Merci à l'avance!
OriginalL'auteur MarcoK | 2014-06-15
Vous devez vous connecter pour publier un commentaire.
Votre Xaml est presque ok, mais:
{BindingContext}
sont pas valides sur les propriétés et devrait être sur leContentPage
élémentsMasterDetailPage.Master
besoin unPage.Title
, ou il jette.Voici le code Xaml correct de travail pour moi:
Je l'ai testé avec un type anonyme comme l'affichage de la page modèle:
et cela fonctionne bien. Dans votre cas, vous voudrez probablement les types de béton au lieu de anonyme pour votre modèle de vue, mais vous obtenez l'idée.
vous n'êtes pas équipé de la dernière version si le Titre n'est pas obligatoire. Faire une mise à jour nuget
Merci beaucoup pour cette réponse. Bien que je suis en utilisant la propriété liable dans Xamarin.Les formes, la logique est la même.
OriginalL'auteur Stephane Delcroix