Xamarin.Forms是否可以使用Xamldevise器或智能感知?
Xamarin 3.0引入了Xamarin.Forms ,这是一个强大的UI抽象,允许开发人员轻松创build可在Android,iOS和Windows Phone上共享的用户界面。
它看起来非常强大,但我面临一些困难,创buildUI为Xamarin.Forms带有超过40个控件。 如果没有智能感知或简约devise师,在官方文档中search所有属性或浏览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内部具有智能感知或者使用Xamldevise师?
Xamarin.Forms
没有与graphicsdevise器(还?)。 至于intellisense有两个部分:
- 引用带有x:标签的xaml元素在Xamarin.Studio和VisualStudio中都可以使用
- Xamal元素和属性的完成工作在Xamarin.Studio,并支持完成属性值即将到来。 不幸的是,VisualStudio中的Xaml的intellisense现在不起作用。 但是这个问题是众所周知的,并且调查了解决scheme。
我已经成功与Xamarin.Forms Intellisense扩展在PCL,但不是SAP。
Intellisense已经以其第一种forms发布,更多的信息在这里:
移动精华:针对移动开发者的高效工具
Xamarin Studio 6.1+包含一个XAML预览器:
这不是完美的,但作为一个“预览”版本,在iOS和Android上以不同的分辨率(包括不同的方向)呈现XAML的体面工作。
需要注册video: https : //brax.tv/lesson/xamarin-forms-hello-xaml-previewer/
Xamarin进化video@ https://evolve.xamarin.com
(本文发布时的官方Evolvevideo尚未上线)
如果你有Resharper 9,那么intellisense在Visual Studio中工作,Clint Landry提到的Xamarin.Forms Intellisense扩展。
一家第三方公司正在开发名为UI Sleuth的Xamarin.Forms Designer。
他们仍然处于隐身模式,但已经发布了几个演示video:
- 远程查看与Xamarin.Forms应用程序交互
- 旋转一个视觉元素
- 突出显示一个视觉元素
我build议在Twitter上关注首席架构师 。 这是他们发布最新UI Sleuth更新的地方!
在VS上实现Intellisense所需要的只是在安装时将.xsd文件中的Xamarin.Forms XAML模式放置在Visual Studio的正确文件夹中。 我猜NuGet包/任务没有在安装时和操作系统所需的访问(除非你运行Visual Studio作为pipe理和硬编码path到NuGet包安装任务,这不是个好主意)来做到这一点。
我已经向Xamarin团队提出了同样的问题,他们回答说Intellisense将来还会有更新和devise人员(即使对于更新的alpha / beta版本也不知道多快)。
希望能帮助到你…
我刚刚阅读了Xamarin.Formsdevise师在Xamarin 2016年会议上发布的推特
同时,您可以使用Windows Phonedevise器和转换器来吐出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
我创build了两个video,介绍了如何使用Xamarin Studio的新XAML预览器:
介绍:
使用devise数据:
使用ViewModelLocatordevise数据:
涉及的代码示例如下:
<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>