42

Xamarin 3.0 引入了Xamarin.Forms,这是一种强大的 UI 抽象,允许开发人员轻松创建可在 Android、iOS 和 Windows Phone 之间共享的用户界面。

它看起来非常强大,但我在创建 UI 时遇到了一些困难,因为 Xamarin.Forms 带有 40 多个控件。如果没有智能感知或极简设计师,在官方文档中搜索所有属性或通过浏览 c# 代码会适得其反。

默认的 Xaml teamplate 是这样的,在没有任何帮助的情况下添加新控件显然不是一件容易的事。

<?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 设计器?

4

9 回答 9

18

Xamarin.Forms没有图形设计器(还没有?)。至于智能感知,有两部分:

  • 在Xamarin.Studio和 VisualStudio 中引用在代码中使用 x:Name 标记的 xaml 元素
  • 元素和属性的 Xaml 补全在 Xamarin.Studio 中工作,并且很快就会支持补全属性值。不幸的是,VisualStudio 中 Xaml 的智能感知目前无法正常工作。但是这个问题是众所周知的,并且正在研究解决方案。
于 2014-06-11T08:33:05.763 回答
6

我在 PCL 中使用 Xamarin.Forms Intellisense 扩展取得了成功,但在 SAP 中却没有。

在此处输入图像描述

于 2015-01-22T15:10:28.233 回答
5

Intellisense 已经以第一种形式发布,更多信息在这里:

Mobile Essentials:移动开发人员的生产力工具

于 2015-02-09T06:12:21.987 回答
4

Xamarin Studio 6.1+ 包括一个 XAML 预览器:

在此处输入图像描述

它并不完美,但作为“预览”版本,在 iOS 和 Android 上以不同的分辨率(包括不同的方向)呈现 XAML 方面做得不错。

需要注册的视频:https ://brax.tv/lesson/xamarin-forms-hello-xaml-previewer/

Xamarin 进化视频@https ://evolve.xamarin.com

(发帖时的官方 Evolve 视频尚未上线)

于 2016-04-30T07:21:47.647 回答
1

如果您有 Resharper 9,则 intellisense 可以在 Visual Studio 中使用,并使用 Clint Landry 提到的 Xamarin.Forms Intellisense 扩展。

于 2015-07-17T19:59:38.253 回答
1

一家第 3 方公司正在开发一个名为 UI Sleuth 的 Xamarin.Forms 设计器。

他们仍处于隐身模式,但发布了一些演示视频:

我建议在 Twitter 上关注首席架构师。这是他们发布最新 UI Sleuth 更新的地方!

于 2016-12-29T18:53:14.350 回答
0

在 VS 上实现 Intellisense 所需的只是在安装时将 .xsd 文件中的 Xamarin.Forms XAML 架构放置在 Visual Studio 的正确文件夹中。我猜 NuGet 包/任务在安装时并没有操作系统所需的访问权限(除非您以管理员身份运行 Visual Studio 并将路径硬编码到 NuGet 包安装任务中,这不是一个好主意)来做到这一点。

我已经向 Xamarin 团队提出了同样的问题,他们回答说 Intellisense 尚未在后续更新和设计器中出现(不知道多快,即使对于更新的 alpha/beta 通道)。

希望能帮助到你...

于 2014-07-02T01:33:26.627 回答
0

我刚刚阅读了一条关于在 Xamarin Evolve 2016 会议上宣布的 Xamarin.Forms 设计器的推文

同时,您可以使用 Windows Phone 设计器和转换器来输出 Xamarin.Forms 标记,请参阅: http ://www.gui-innovations.com/Blog%20Posts/windows-phones-forms-to-xamarin-表格.html

该工具还与其他相关工具一起提到: https ://github.com/MvvmCross/MvvmCross-Forms/wiki/XAML-Tools-for-Xamarin

于 2016-04-29T19:08:36.893 回答
0

在此处输入图像描述

我创建了两个视频,介绍如何使用 Xamarin Studio 的新 XAML 预览器:

介绍:

使用设计数据:

使用 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>
于 2016-05-04T19:32:49.217 回答