it-swarm.com.ru

Можно ли использовать конструктор Xaml или intellisense с Xamarin.Forms?

Xamarin 3.0 представила Xamarin.Forms , мощную абстракцию пользовательского интерфейса, которая позволяет разработчикам легко создавать пользовательские интерфейсы, которые могут совместно использоваться на Android, iOS и Windows Phone. 

Это кажется очень мощным, но я сталкиваюсь с несколькими трудностями при создании пользовательского интерфейса, так как Xamarin.Forms поставляется с более чем 40 элементами управления. Без intellisense или минималистского дизайнера довольно непродуктивно искать все свойства в официальном документе или просматривать код на c #.

По умолчанию используется шаблон Xaml, и добавление новых элементов управления без посторонней помощи явно не тривиально.

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

Так есть ли шанс использовать intellisense внутри Xaml или использовать конструктор Xaml?

41
Cybermaxs

Xamarin.Forms не поставляется с графическим дизайнером (пока?). Что касается intellisense, есть 2 части:

  • ссылка на элемент xaml, помеченный знаком x: Name в коде позади works в Xamarin.Studio и VisualStudio
  • Xaml завершение элементов и атрибутов работает в Xamarin.Studio, и поддержка для завершения значений атрибутов появится очень скоро. К сожалению, intellisense для Xaml в VisualStudio пока не работает. Но проблема хорошо известна, и решения изучаются.
18
Stephane Delcroix

Я имел успех с расширением Xamarin.Forms Intellisense в PCL, но не в SAP.

enter image description here

6
Clint Landry

Intellisense был выпущен в первом виде, более подробную информацию здесь:

Mobile Essentials: инструменты повышения производительности для разработчиков мобильных приложений

5
Ajay Sharma

Xamarin Studio 6.1+ включает предварительный просмотр XAML:

 enter image description here

Он не идеален, но в качестве «предварительного просмотра» выполнил достойную работу по рендерингу вашего XAML в разных разрешениях на iOS и Android, включая разные ориентации.

Требуется регистрация видео: https://brax.tv/lesson/xamarin-forms-hello-xaml-previewer/

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

(Официальное видео Evolve на момент публикации еще не было в сети)

4
SushiHangover

Сторонняя компания разрабатывает Xamarin.Forms Designer под названием UI Sleuth.

Они все еще в невидимом режиме, но разместили пару демо-видео:

Я рекомендую вслед за ведущим архитектором в Твиттере . Здесь они публикуют последние обновления UI Sleuth!

1
Brandon Minnick

Если у вас есть Resharper 9, то intellisense работает в Visual Studio с расширением Xamarin.Forms Intellisense, упомянутым Клинтом Лэндри.

1
Caitlin

Все, что необходимо для реализации Intellisense на VS, - это наличие XAML-схемы Xamarin.Forms в файле .xsd, помещенной в соответствующую папку Visual Studio во время установки. Я предполагаю, что пакет/задачи NuGet не имеют во время установки и доступа, требуемого ОС (если вы не запускаете Visual Studio от имени администратора и жестко запрограммированные пути в задачах установки пакета NuGet, что не является хорошей идеей) для этого.

Я задал этот же вопрос команде Xamarin, и они ответили, что Intellisense еще не появится в следующих обновлениях, а дизайнер - в будущем (не знаю, как скоро, даже для альфа/бета каналов обновления).

Надеюсь, поможет...

0
Gutemberg Ribeiro

Я только что прочитал твит о Xamarin.Forms Designer, анонсированном на конференции Xamarin Evolve 2016

В то же время вы можете использовать конструктор Windows Phone и конвертер, чтобы выплевывать разметку Xamarin.Forms, см.: http://www.gui-innovations.com/Blog%20Posts/windows-phones-forms -to-xamarin-forms.html

Этот инструмент также упоминается вместе с другими соответствующими инструментами по адресу: https://github.com/MvvmCross/MvvmCross-Forms/wiki/XAML-Tools-for-Xamarin

0
George Birbilis

 enter image description here

Я создал два видео, в которых рассказывается о том, как вы можете использовать новый XAML Previewer в Xamarin Studio:

Вступление:

Использование данных проектирования:

Данные проектирования с ViewModelLocator:

Пример используемого кода:

<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