web-dev-qa-db-fra.com

Est-il possible d'utiliser un concepteur Xaml ou intellisense avec Xamarin.Forms?

Xamarin 3.0 a introduit Xamarin.Forms , une abstraction d’interface utilisateur puissante qui permet aux développeurs de créer facilement des interfaces utilisateur pouvant être partagées sur Android, iOS et Windows Phone. 

Cela semble très puissant, mais je suis confronté à quelques difficultés pour créer une interface utilisateur en tant que Xamarin.Forms est livré avec plus de 40 contrôles. Sans intellisense ou un concepteur minimaliste, il est assez contre-productif de rechercher toutes les propriétés dans le document officiel ou en parcourant le code c #.

Le teamplate Xaml par défaut est comme ça, et il n'est clairement pas trivial d'ajouter de nouveaux contrôles sans aucune aide.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                       xmlns:x="http://schemas.Microsoft.com/winfx/2009/xaml"
                       x:Class="App1.Class1">
    <Label Text="{Binding MainText}"  VerticalOptions="Center" HorizontalOptions="Center" />
</ContentPage>

Y a-t-il donc une chance d'avoir intellisense dans Xaml ou d'utiliser le concepteur Xaml?

41
Cybermaxs

Xamarin.Forms ne vient pas avec un concepteur graphique (encore?). Quant à intellisense, il y a 2 parties:

  • référençant un élément xaml étiqueté avec x: Name dans le code derrière works dans Xamarin.Studio et VisualStudio
  • La complétion d'éléments et d'attributs par Xaml fonctionne dans Xamarin.Studio et la prise en charge de la complétion des valeurs d'attributs arrive très bientôt. Malheureusement, intellisense pour Xaml dans VisualStudio ne fonctionne pas pour le moment. Mais le problème est bien connu et des solutions sont recherchées.
18
Stephane Delcroix

J'ai eu du succès avec l'extension Xamarin.Forms Intellisense dans un PCL mais pas avec SAP.

enter image description here

6
Clint Landry

Intellisense a été publié dans sa première forme, plus d'informations ici:

Mobile Essentials: Outils de productivité pour les développeurs mobiles

5
Ajay Sharma

Xamarin Studio 6.1+ comprend un visualiseur XAML:

 enter image description here

Ce n'est pas parfait, mais en tant que "version préliminaire", le rendu de votre XAML est correct dans différentes résolutions sur iOS et Android, y compris des orientations différentes.

Une vidéo d'enregistrement obligatoire: https://brax.tv/lesson/xamarin-forms-hello-xaml-previewer/

Xamarin Evolve Videos @ https://evolve.xamarin.com

(Les vidéos officielles Evolve au moment de cette publication ne sont pas encore en ligne)

4
SushiHangover

Une société tierce développe actuellement un concepteur de Xamarin.Forms appelé UI Sleuth.

Ils sont toujours en mode furtif, mais ont posté deux vidéos de démonstration:

Je recommande en suivant l’architecte principal sur Twitter . C'est ici qu'ils affichent les dernières mises à jour de l'interface utilisateur Sleuth!

1
Brandon Minnick

Si vous avez Resharper 9, alors intellisense fonctionne dans Visual Studio, avec l’extension Xamarin.Forms Intellisense mentionnée par Clint Landry.

1
Caitlin

Pour implémenter Intellisense sur VS, il suffit de disposer le schéma Xamarin.Forms XAML dans un fichier .xsd placé dans le dossier approprié de visual studio au moment de l'installation. Je suppose que le paquet/les tâches NuGet ne disposent pas au moment de l'installation et de l'accès requis par le système d'exploitation (à moins que vous n'exécutiez Visual Studio en tant que chemins d'accès codés en dur dans les tâches d'installation du paquet NuGet, ce qui n'est pas une bonne idée) pour le faire.

J'ai posé la même question à l'équipe Xamarin et celle-ci a répondu que l'Intellisense n'avait toujours pas été installé après les mises à jour et que le concepteur était appelé à venir (je ne sais pas quand, même pour les canaux de mise à jour alpha/bêta).

J'espère que ça aide...

0
Gutemberg Ribeiro

Je viens de lire un Tweet sur un concepteur Xamarin.Forms annoncé lors de la conférence Xamarin Evolve 2016

En attendant, vous pouvez utiliser le concepteur Windows Phone et un convertisseur pour cracher le balisage Xamarin.Forms, voir: http://www.gui-innovations.com/Blog%20Posts/windows-phones-forms -to-xamarin-forms.html

Cet outil est également mentionné sur avec d’autres outils connexes sur: https://github.com/MvvmCross/MvvmCross-Forms/wiki/XAML-Tools-for-Xamarin

0
George Birbilis

 enter image description here

J'ai créé deux vidéos qui expliquent comment utiliser le nouvel outil de prévisualisation XAML de Xamarin Studio:

Intro:

Utilisation des données de conception:

Données de conception avec ViewModelLocator:

Un exemple du code impliqué:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
        xmlns:x="http://schemas.Microsoft.com/winfx/2009/xaml" 
        x:Class="STLBrews.Mobile.BreweriesPage"     
        xmlns:vm="clr-namespace:STLBrews.ViewModels;Assembly=STLBrews.ViewModels" 
        BindingContext="{x:Static vm:ViewModelLocator.BreweriesVM}">
    <ContentPage.Content>
        <ListView
            ItemsSource="{Binding Items}" >
            <ListView.ItemTemplate> 
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Orientation="Horizontal">
                            <Image Source="{Binding LogoUrl}"/>
                            <StackLayout Orientation="Vertical" Spacing="0" VerticalOptions="Center">
                                <Label Text="{Binding Name}" FontAttributes="Bold"/>
                                <Label Text="{Binding Description}" FontSize="10"/>
                            </StackLayout>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content>
</ContentPage>
0
Ben Bishop