一个好老好老的老程序员了。
全部博文(915)
发布时间:2018-07-15 15:29:53
依赖服务和可移植类库PlatInfoSap2程序中说明的技术是否可以在具有可移植类库的解决方案中实现? 起初,它似乎不可能。 虽然应用程序项目一直调用库,但是除了事件或回调函数的上下文之外,库通常不能调用应用程序。 PCL与独立于设备的.NET版本捆绑在一起,只能在其自身或其他可能引用的PCL中执行代码。但是等待:.........【阅读全文】
发布时间:2018-07-14 11:06:55
并行类和共享资产项目虽然共享资产项目是平台项目的扩展,但这种关系是双向的:正如平台项目可以调用共享资产项目中的代码一样,SAP可以调用各个平台项目。这意味着我们可以将特定于平台的API调用限制为各个平台项目中的类。 如果平台项目中这些类的名称和名称空间相同,那么SAP中的代码可以透明,独立于平台的方式.........【阅读全文】
发布时间:2018-07-12 20:54:53
紧急情况已经出现。任何玩过上一章的MonkeyTap游戏的人都会很快得出结论,它迫切需要一个非常基本的增强功能,而且它根本不可能在没有它的情况下存在。MonkeyTap需要声音。它不需要非常复杂的声音 - 伴随着四个BoxView元素的闪光,只需要几声嘟嘟声。但是Xamarin.Forms API不支持声音,所以声音不是我们可以通过几个API.........【阅读全文】
发布时间:2018-07-11 21:16:52
点按手势Xamarin.Forms按钮响应手指点击,但您实际上可以从任何派生自View的类中获取手指点击,包括Label,BoxView和Frame。 这些点击事件不会内置到View类中,但View类会定义名为GestureRecognizers的属性。 通过向此GestureRecognizers集合添加对象来启用点击。 可以将从GestureRecognizer派生的任何类的实例添加到.........【阅读全文】
发布时间:2018-07-10 21:51:39
事件和处理程序当您点击Xamarin.Forms按钮时,它会触发Clicked事件。 您可以在XAML中实例化Button,但Clicked事件处理程序本身必须驻留在代码隐藏文件中。 Button只是主要用于生成事件的一组视图中的一个,因此处理事件的过程对于协调XAML和代码文件至关重要。将事件处理程序附加到XAML中的事件就像设置属性一样简单.........【阅读全文】
发布时间:2018-07-08 15:46:13
自定义基于XAML的视图上一章中的ScaryColorList程序使用Frame,BoxView和Label在StackLayout中列出了一些颜色。即使只有三种颜色,重复标记也开始变得非常不祥。遗憾的是,没有XAML标记复制C#for和while循环,因此您可以选择使用代码生成多个类似的项目,或者在标记中找到更好的方法。在本书中,您将看到几种在XAML.........【阅读全文】
发布时间:2018-07-08 15:43:39
x:Name属性在大多数实际应用程序中,代码隐藏文件需要引用XAML文件中定义的元素。 您在上一章的CodePlusXaml程序中看到了一种方法:如果代码隐藏文件知道XAML文件中定义的可视树的布局,它可以从根元素(页面本身)开始, 找到树中的特定元素。 此过程称为“在树上行走”,可用于定位页面上的特定元素。通常,更好的.........【阅读全文】
发布时间:2018-07-06 15:23:11
代码文件和XAML文件始终作为一对存在。 这两个文件相互补充。 尽管被称为XAML的“代码隐藏”文件,但代码在处理应用程序的更活跃和交互式部分时经常显得尤为突出。 这意味着代码隐藏文件必须能够像在代码中实例化的对象一样轻松地引用XAML中定义的元素。 同样,XAML中的元素必须能够触发在基于代码的事件处理程序中处.........【阅读全文】
发布时间:2018-07-06 11:56:53
内容属性特性ScaryColorList程序中的XAML文件实际上比它需要的时间稍长。 您可以删除ContentPage.Content标签,所有StackLayout.Children标签和所有Frame.Content标签,并且程序的工作原理是相同的:点击(此处)折叠或打开<ContentPage xmlns="http://xamarin.com/schemas/2014/forms.........【阅读全文】
发布时间:2018-07-06 11:48:34
XAML编译器您可以选择是否在构建过程中编译XAML。 编译XAML可以在构建过程中进行有效性检查,减少可执行文件的大小,并缩短加载时间,但这比非编译方法稍微新一些,所以有时可能会出现问题。为了表明您想要编译应用程序中的所有XAML文件,可以在代码文件中的某个位置插入下面的程序集属性。 最方便的地方是PCL项目的.........【阅读全文】
发布时间:2018-07-06 11:36:23
将XAML页面添加到您的项目现在您已经看到了一些XAML片段,让我们看一个完整程序环境中的整个XAML页面。 首先,使用可移植类库解决方案模板创建一个名为CodePlusXaml的Xamarin.Forms解决方案。现在将一个XAML ContentPage添加到PCL。 操作方法如下:在Visual Studio中,右键单击解决方案资源管理器中的CodePlusXaml.........【阅读全文】
发布时间:2018-06-24 18:45:50
属性元素语法这里有一些C#与第4章中的FramedText代码相似。在一个语句中,它实例化一个Frame和一个Label,并将Label设置为Frame的Content属性:new Frame{ OutlineColor = Color.Accent, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Content = new Label .........【阅读全文】
发布时间:2018-06-23 20:42:29
属性和特性(估且叫特性吧)这里是一个Xamarin.Forms标签在代码中实例化和初始化,就像它可能出现在页面类的构造函数中一样:new Label{ Text = "Hello from Code!", IsVisible = true, Opacity = 0.75, HorizontalTextAlignment = TextAlignment.Center, VerticalOptions = LayoutOptions.Cente.........【阅读全文】
发布时间:2018-06-23 16:26:23
毫无疑问,C#是世界上有史以来最伟大的编程语言之一。 您可以在C#中编写完整的Xamarin.Forms应用程序,并且可以想象,您已经发现C#非常适合Xamarin.Forms,您甚至没有考虑过使用其他任何东西。 但保持开放的态度。 Xamarin.Forms为C#提供了一种替代方案,它在程序开发的某些方面.........【阅读全文】
发布时间:2018-06-20 22:29:51
保存瞬态数据假设你在SimplestKeypad程序中输入了一个重要的数字,并且你的系统崩溃了 - 可能是打了电话。 稍后,您关闭手机,有效终止该程序。下次运行SimplestKeypad时会发生什么? 你以前输入的长串数字是否应该被丢弃? 还是应该看起来好像该程序从您最后离开的状态恢复? 当然,对于像SimplestKeypad这样的简单演.........【阅读全文】
发布时间:2018-06-18 21:15:44
使用ID区分视图在TwoButtons程序中,您看到了一种共享事件处理程序的技术,通过比较对象来区分视图。 这在没有很多视图可以区分的情况下工作正常,但对于计算器程序来说这是一个糟糕的做法。Element类定义了一个String类型的StyleId属性,专门用于识别视图。 它不用于Xamarin.Forms内部的任何东西,所以您可以将其设置.........【阅读全文】
发布时间:2018-06-17 22:09:56
匿名事件处理程序与任何事件处理程序一样,您可以将Clicked处理程序定义为匿名lambda函数。 这是一个名为ButtonLambdas的程序,它有一个显示数字和两个按钮的标签。 一个按钮使数字加倍,另一个减半。 通常,数字和标签变量将被保存为字段。 但是因为在定义了这些变量之后,匿名事件处理程序在构造函数中被正确定义,所.........【阅读全文】
发布时间:2018-06-16 20:25:56
分享按钮点击如果一个程序包含多个Button视图,则每个Button都可以拥有自己的Clicked处理程序。 但是在某些情况下,多个Button视图共享一个常用的Clicked处理函数可能会更方便。考虑一个计算器程序。 每个标记为0到9的按钮基本上都是一样的,并且对于这10个按钮有10个单独的Click处理程序 - 即使它们共享一些常用代码也.........【阅读全文】
发布时间:2018-06-14 21:23:33
图形用户界面的组件可以大致分为用于向用户显示信息的呈现和用于从用户获得输入的交互的视图。 虽然标签是最基本的演示视图,但Button可能是原型交互视图。 按钮发出一个命令。 这是用户告诉程序启动一些活动的方式 - 做一些事情。Xamarin.Forms按钮显示文本,带或不带相应的图像。 (本章仅描述文本按钮;第13章“位图”.........【阅读全文】
发布时间:2018-06-13 21:48:20
经验拟合文本在具有特定尺寸的矩形内拟合文本的另一种方法涉及基于特定字体大小凭经验确定呈现文本的大小,然后向上或向下调整该字体大小。 无论可访问性设置如何,此方法都具有在所有设备上工作的优势。但是这个过程可能很棘手:第一个问题是字体大小和渲染文本的高度之间没有干净的线性关系。 随着文本相对于其容器的.........【阅读全文】
发布时间:2018-06-11 21:35:20
可访问性问题EstimatedFontSize程序和FitToSizeClock程序都有一个细微的缺陷,但如果您是众多不能在移动设备上轻松阅读文本并使用该设备的辅助功能来制作文本的人之一,则问题可能并不那么细微。 文字较大。在iOS上,运行设置应用程序,然后选择“常规”,“辅助功能”和“较大文本”。 然后,您可以使用滑块使屏幕上的.........【阅读全文】
发布时间:2018-06-07 21:35:09
适合大小的时钟Device类包含一个静态的StartTimer方法,可以让你设置一个触发周期性事件的定时器。 定时器事件的可用性意味着时钟应用程序是可能的,即使它仅以文本显示时间。Device.StartTimer的第一个参数是以TimeSpan值表示的时间间隔。 定时器根据该间隔定期触发一个事件。 (你可以低至15或16毫秒,这大约是视频显.........【阅读全文】
发布时间:2018-06-06 10:34:17
将文本拟合为可用的大小您可能需要将文本块合并到特定的矩形区域。 可以计算一个值对于Label的FontSize属性,基于文本字符的数量,矩形区域的大小以及两个数字。第一个数字是行间距。 这是每行文本的标签视图的垂直高度。 对于与三个平台关联的默认字体,它与FontSize属性大致相关,如下所示:? iOS: lineSpacing = 1..........【阅读全文】
发布时间:2018-06-05 11:19:05
Metrical大小现在您已经知道Xamarin.Forms应用程序中的大小与英寸和厘米的度量尺寸大致相对应,您可以调整元素的大小以使它们在各种设备上大小相同。 这里有一个名为MetricalBoxView的程序,它显示一个宽约1厘米,高约1英寸的BoxView:public class MetricalBoxViewPage : ContentPage { public MetricalBoxViewPa.........【阅读全文】
发布时间:2018-04-21 22:36:20
转眼,大学毕业都已经快18年了。时间过得真快啊。当初从大学毕业的时候,进入公司工作,那时候学习Linux命令,第一次接触到fanqiangunix.net,网站上对常用的Linux命令的用法都做了详尽的说明。那个时候也没有环境,就是对各种命令及参数进行死记硬背,并且一条条的摘抄到笔记本上,或许那个时候应该算是对Linux的入门吧。.........【阅读全文】