![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Xamarin.Forms 开发
Xamarin.Forms
singhwong
C#,UWP,.Net
展开
-
14. ListView和ViewCell
ListViiew控件用于显示项列表。在示例应用程序中,ItemsSource属性绑定到ViewModel的Items属性上。为了进行显示,将DataTemplate分配给ItemTemplate属性。这看起来非常类似于UWP,唯一的区别是ListView中的项的DataTemplate只能包含派生自Cell的类。这里使用一个ViewCell,以允许使用其他元素,如SackLayout和Label控件:...原创 2020-09-01 11:26:24 · 227 阅读 · 0 评论 -
13. 命令
与UWP一样,Xamarin.Forms中的命令实现了ICommand接口。Xamarin.Forms已经通过Command类包含了一个实现。Command类的实现类似于Framework库中RelayCommand的实现。Command用于AboutViewModel:原创 2020-09-01 10:21:28 · 143 阅读 · 0 评论 -
12. 数据绑定
Xamarin.Forms的数据绑定是使用标记扩展完成的。x:Bind标记扩展不可用,但是可以使用Binding标记扩展,它也可以与UWP一起使用。请注意,默认模式是不同的,可以使用的模式也不同。Xamarin.Froms不支持OneTime,但可以使用OneWay、TwoWay和OneWayToSource,OneWayToSource不能用于UWP。OneWay模式将来自源的数据绑定到目标(UI元素),但反之无效。下面的代码片段绑定了Entry控件的Text和IsEnabled属性:...原创 2020-09-01 10:08:47 · 121 阅读 · 0 评论 -
9. 导航
该应用程序的根页面包括TabbedPage,其中包括NavigationPage。NavigationPage定义的属性Navigation返回实现了接口INavigation的对象。这样,就可以使用PushAsync方法导航到另一个页面,并使用PopAsync方法返回。使用.NET标准库Framework,用这些方法定义INavigationService: public interface INavigationService { bool UseNavigati原创 2020-09-01 09:54:52 · 150 阅读 · 0 评论 -
11. 视图
下面讨论一些视图类型,并将它们与UWP控件进行比较如下表所示。原创 2020-08-31 17:13:48 · 94 阅读 · 0 评论 -
10. 布局
About页面使用Grid和StackLayout控件来安排其子元素。Grid控件允许定义行和列——就像使用UWP中的Grid控件一样——使用Auto、*、和固定大小设置:原创 2020-08-31 15:19:59 · 124 阅读 · 0 评论 -
8. 页面
要创建用户界面,应从MainPage开始。UWP应用程序可以为主页使用NavigationView。此控件不可用于Xamarin.Forms。记住,Xamarin.Forms只提供了可映射到所有平台的控件。可用的一个页面类型是TabbedPage。在UWP中,TabbedPage就是Pivot控件,在iOS中它是UiTabBarController。TabbedPage包含AboutPage(它本身就是ContenPage),和NaviagationPage。NavigationPage相当于UWP应用原创 2020-08-31 14:40:50 · 139 阅读 · 0 评论 -
7. 控件层次结构
Xamarin.Forms的控件的层次结构与UWP类似,但它有很大的区别,需要在这里讨论。此外,这些控件的名称也不同。下面介绍Xamarin.Forms层次结构中最重要的类。BindableObject:这是Xamarin.Forms控件的基类。这个类实现了INotifyPropertyChanged接口。在UWP中没有此类,但是BindableBase类有一个定制的实现。BindableObject还实现了接口IDynamicResourceHandler。该接口由平台渲染器使用。 Elemen原创 2020-08-31 13:56:42 · 353 阅读 · 0 评论 -
6. 使用公共库
要使用已创建的.NET标准库BooksLib和Framework,可以在Xamrin.Forms解决方案中添加已有项目。这些项目需要从每个Xamarin项目中引用。还需要添加NuGet包Microsoft.Extensions.DependencyInjection和Microsoft.Extensions.Configuration。ILogger接口由服务和视图模型使用。Xamarin还包括一个依赖注入容器,它可以从DependencyService类中访问。DependencyService.原创 2020-08-31 12:25:45 · 175 阅读 · 0 评论 -
5. Xamarin.Forms应用程序
现在了解了关于Android和iOS的一些原则,下面从Xamarin.Forms开始。这个项目命名为BooksAppX,并使用已创建好的视图模型和核心功能库。这些库之前用于在UWP中展示书籍列表和一本书的详细信息。同样的功能现在将使用Xamarin.Forms来实现——使用相同的库。要创建Xamarin.Forms项目,模板Cross-Platform App(Xamarin.Forms)是一个很好的开端。使用这个项目模板,在Windows上可以选择三个平台、UI技术和代码共享策略。使用Xama原创 2020-08-31 10:49:18 · 366 阅读 · 0 评论 -
4. iOS基础
使用Android.iOS,创建HelloiOS应用程序。要创建和构建这个应用程序,需要一个安装了Xcode的Mac,这样构建过程就可以使用Xcode引擎了。所创建的应用程序是从使用Single View App (iPhone)项目模板开始的。所生成的文件Info.plist包含的信息与Windows应用程序中的package.manifest文件类似(参见下图)。在这里,可以配置部署目标,以支持在应用程序中支持的iOS版本,为图标添加可是资产,配置功能(例如,当需要后台功能时),并配置用于启动应用程原创 2020-08-30 15:14:33 · 153 阅读 · 0 评论 -
3. Android基础
在进入Xamarin.Forms之前,最好了解一些平台的基础信息。第一个应用程序是Hello Android! App,它是使用Blank App(Android)模板创建的。应该检查的第一个设置是Android Manifest,可以从Project Properties选项卡中的Android Manifest上访问它(请参见下图)。在这里,需要定义Android的最低版本和目标版本,这与前面章节中的Windows运行库配置类似。这里需要选择应用程序支持的API级别。根据想要支持的设备,可以使用可用原创 2020-08-28 18:30:35 · 250 阅读 · 1 评论 -
2. Xamarin开发工具
为Android和iOS创建应用程序时,需要了解支持所需工具的平台版本。1. Android在Windows上开发时,我们学习了如何指定开发应用程序的最低版本和目标版本。这与Android非常相似。对于Android,用户有Android的一个版本以及与编号的API级别相对应的代码名称。用户需要决定想支持平台的哪个版本。支持的原因可能是市场上的分销。下表列出了Android的最新版本(截止到作者编写本书时)及其代码名、API级别,以及Android手机访问Google Playground的百分原创 2020-08-28 14:48:04 · 273 阅读 · 0 评论 -
1. Xamarin开发入门
移动应用开发主要在两个产品之间共享:苹果的iOS和谷歌的Android。iOS的本机开发是使用编程语言Objective-C或Swift、Cocoa好Cocoa Touch框架完成的。Cocoa是苹果API的名称。在为Android开发时,可以使用谷歌的Android SDK,而Java是主要编程语言。可以使用C#和XAML,而不是使用不同的编程语言重写代码。Xamarin提供跨平台开发,但仍然可以使用本机API。由于Xamarin被微软收购,并且Visual Studio中的Xamarin工具继承原创 2020-08-28 12:38:51 · 1959 阅读 · 0 评论