Подтвердить что ты не робот

Можно ли использовать Xaml-дизайнер или intellisense с Xamarin.Forms?

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

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

Командная таблица 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?

4b9b3361

Ответ 1

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

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

Ответ 2

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

enter image description here

Ответ 4

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

введите описание изображения здесь

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

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

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

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

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

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

Ответ 8

Я только что прочитал твит о дизайнере Xamarin.Forms на конференции 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

Ответ 9

введите описание изображения здесь

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

Введение:

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

Данные проекта с 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>