web-dev-qa-db-ja.com

Xamarin.FormsでXamlデザイナーまたはインテリセンスを使用することは可能ですか?

Xamarin 3.0では、開発者がAndroid、iOS、Windows Phoneで共有できるユーザーインターフェイスを簡単に作成できる強力なUI抽象化である Xamarin.Forms が導入されました。

Xamarin.Formsには40を超えるコントロールが付属しているため、非常に強力に思えますが、UIを作成するのにいくつかの困難に直面しています。インテリセンスやミニマリストのデザイナーがいなければ、公式ドキュメント内のすべてのプロパティを検索したり、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>

Xaml内にインテリセンスを持っている、またはXamlデザイナーを使用する機会はありますか?

41
Cybermaxs

Xamarin.Formsにはグラフィカルデザイナーが付属していません(まだ?)。インテリセンスについては、2つの部分があります。

  • xamarin.StudioとVisualStudioの両方でworksのコードビハインドでx:Nameでタグ付けされたxaml要素を参照する
  • 要素と属性のXaml補完はXamarin.Studioで機能し、属性値の補完のサポートはすぐに提供されます。残念ながら、VisualStudioでのXamlのインテリセンスは今のところ機能しません。しかし、問題はよく知られており、解決策が調査されています。
18

Xamarin.Forms Intellisense拡張機能はPCLで成功しましたが、SAPでは成功していません。

enter image description here

6
ClintL

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

サードパーティ企業は、UI Sleuthと呼ばれるXamarin.Forms Designerを開発しています。

彼らはまだステルスモードですが、デモビデオをいくつか投稿しています:

Twitterのリードアーキテクトに従う をお勧めします。これは、彼らが最新のUI Sleuthアップデートを投稿する場所です!

1
Brandon Minnick

Resharper 9を使用している場合、IntellisenseはVisual Studioで動作し、Clint Landryが言及したXamarin.Forms Intellisense拡張機能を使用します。

1
Caitlin

VSにIntelliSenseを実装するために必要なのは、インストール時にVisual Studioの適切なフォルダーに配置される.xsdファイルにXamarin.Forms XAMLスキーマがあることです。 NuGetパッケージ/タスクは、インストール時にOSに必要なアクセス権がないと思います(Visual Studioを管理者として実行し、NuGetパッケージインストールタスクへのハードコーディングされたパスを使用しない限り、これはお勧めできません)。

私はこれと同じ質問をXamarinチームに投げましたが、彼らはIntellisenseが将来のアップデートとデザイナーにまだ追随していないと回答しました(アップデートのアルファ/ベータチャンネルであっても、すぐにはわかりません)。

それが役に立てば幸い...

0

Xamarin Evolve 2016カンファレンスで発表されているXamarin.Forms Designerに関するツイートを読んだばかりです

それまでの間、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

Xamarin Studioの新しいXAMLプレビューアの使用方法を説明する2つのビデオを作成しました。

イントロ:

設計データの使用:

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