c# xaml xamarin xamarin.forms

c# - ¿Es posible usar un diseñador de Xaml o intellisense con Xamarin.Forms?



(9)

Acabo de leer un tweet sobre el lanzamiento de Xamarin.Forms Designer en la conferencia Xamarin Evolve 2016

Mientras tanto, podría usar el diseñador de Windows Phone y un convertidor para escupir el marcado Xamarin.Forms, consulte: http://www.gui-innovations.com/Blog%20Posts/windows-phones-forms-to-xamarin-forms.html

Esa herramienta también se menciona junto con otras herramientas relacionadas en: https://github.com/MvvmCross/MvvmCross-Forms/wiki/XAML-Tools-for-Xamarin

Xamarin 3.0 introdujo Xamarin.Forms , una poderosa abstracción de interfaz de usuario que permite a los desarrolladores crear fácilmente interfaces de usuario que se pueden compartir en Android, iOS y Windows Phone.

Parece muy poderoso pero tengo algunas dificultades para crear UI ya que Xamarin.Forms viene con más de 40 controles. Sin intellisense o un diseñador minimalista, es bastante contraproducente buscar todas las propiedades en el documento oficial o explorando el código c #.

El Xaml teamplate predeterminado es así, y claramente no es trivial agregar nuevos controles sin ayuda.

<?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>

Entonces, ¿hay alguna posibilidad de tener intellisense dentro de Xaml o usar el diseñador de Xaml?


He tenido éxito con la extensión Xamarin.Forms Intellisense en una PCL pero no en SAP.



Si tiene Resharper 9, intellisense funciona en Visual Studio, con la extensión Xamarin.Forms Intellisense mencionada por Clint Landry.


Todo lo que se necesita para implementar Intellisense en VS es tener el esquema Xamarin.Forms XAML en un archivo .xsd colocado en la carpeta adecuada de Visual Studio en el momento de la instalación. Supongo que el paquete NuGet / tareas no tienen en el momento de la instalación y el acceso requerido por el sistema operativo (a menos que ejecute Visual Studio como administrador y rutas codificadas en tareas de instalación del paquete NuGet, lo cual no es una buena idea) para hacerlo.

Lancé esta misma pregunta al equipo de Xamarin y me respondieron que el Intellisense todavía está por venir después de las actualizaciones y el diseñador en un futuro (no sé qué tan pronto, incluso para los canales alfa / beta de actualización).

Espero eso ayude...



Xamarin Studio 6.1+ incluye una vista previa de XAML:

No es perfecto, pero como una versión de "vista previa" hace un trabajo decente de renderizar su XAML en diferentes resoluciones en iOS y Android, incluyendo diferentes orientaciones.

Se requiere un video de registro: https://brax.tv/lesson/xamarin-forms-hello-xaml-previewer/

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

(El video oficial Evolve en el momento de esta publicación aún no está en línea)


Creé dos videos que cubren cómo se puede usar el nuevo visualizador XAML de Xamarin Studio:

https://brax.tv/lesson/xamarin-forms-hello-xaml-previewer/

Usando datos de diseño:

Diseñar datos con ViewModelLocator:

Un ejemplo del código involucrado:

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


Xamarin.Forms no viene con un diseñador gráfico (¿todavía?). En cuanto a intellisense, hay 2 partes:

  • haciendo referencia al elemento xaml etiquetado con x: el nombre en el código detrás funciona tanto en Xamarin.Studio como en VisualStudio
  • La finalización Xaml de los elementos y atributos funciona en Xamarin.Studio, y el soporte para completar los valores de los atributos llegará muy pronto. Desafortunadamente, intellisense para Xaml en VisualStudio no funciona por el momento. Pero el problema es bien conocido y las soluciones se investigan.