一个好老好老的老程序员了。
全部博文(915)
发布时间:2018-08-26 21:40:44
按钮图像Button定义了FileImageSource类型的Image属性,您可以使用该属性提供显示在按钮文本左侧的小型补充图像。此功能不适用于仅限图像按钮;如果这就是你想要的,本章中的ImageTap程序是一个很好的起点。您希望图像大小约为五分之一英寸。这意味着您希望它们在32个与设备无关的单元中呈现并显示在Button的背景上。对.........【阅读全文】
发布时间:2018-08-25 22:38:48
工具栏和他们的图标用户界面中位图的主要用途之一是Xamarin.Forms工具栏,它出现在iOS和Android设备页面顶部以及Windows Phone设备页面底部。 工具栏项目是可点击的,并且像Click一样点击Clicked事件。工具栏本身没有类。 而是将ToolbarItem类型的对象添加到Page定义的ToolbarItems集合属性中。ToolbarItem类不是从像L.........【阅读全文】
发布时间:2018-08-23 21:35:20
特定于平台的位图如您所见,您可以通过Web或共享PCL项目加载位图。您还可以加载存储为各个平台项目中的资源的位图。这个工作的工具是Image?Source.FromFile静态方法和相应的FileImageSource类。您可能会将此工具主要用于与用户界面元素连接的位图。 MenuItem和ToolBarItem中的Icon属性的类型为FileImageSource。 Bu.........【阅读全文】
发布时间:2018-08-22 22:16:57
在运行时生成位图所有这三个平台都支持BMP文件格式,该格式可以追溯到Microsoft Windows的最开始。尽管它具有古老的传统,但BMP文件格式现在已经相当标准化,具有更多的扩展标题信息。虽然有一些BMP选项允许一些基本压缩,但大多数BMP文件都是未压缩的。这种缺乏压缩通常被视为BMP文件的缺点,但在某些情况下它根本不是缺.........【阅读全文】
发布时间:2018-08-20 21:11:53
流式位图如果ImageSource类没有FromUri或FromResource方法,您仍然可以通过Web访问位图或作为PCL中的资源存储。 您可以使用ImageSource.FromStream或StreamImageSource类执行这两个作业以及其他几个作业。ImageSource.FromStream方法比StreamImageSource更容易使用,但两者都有点奇怪。 ImageSource.FromStream的参.........【阅读全文】
发布时间:2018-08-17 22:41:19
浏览和等待ImageBrowser程序演示了Image的另一个功能,它允许您浏览本书中某些示例所使用的库存照片。 正如您在下面的XAML文件中看到的那样,Image元素与Label和两个Button视图共享屏幕。 请注意,在Image上设置了PropertyChanged处理程序。 您在第11章“可绑定基础结构”中了解到,PropertyChanged处理程序由BindableObje.........【阅读全文】
发布时间:2018-08-16 22:20:16
更多关于尺寸到目前为止,您已经看到了两种方法来调整Image元素的大小:如果Image元素没有受到任何限制,它将在保持bit?map的宽高比的同时填充其容器,或者如果将Aspect属性设置为Fill或AspectFill,则完全填充该区域。如果位图小于其容器的大小,并且通过将HorizontalOptions或VerticalOptions设置为Fill以外的其他内.........【阅读全文】
发布时间:2018-08-15 21:49:25
嵌入资源通过Internet访问位图很方便,但有时候并不是最佳选择。该过程需要互联网连接,确保位图未被移动,并有一段时间下载。为了快速且有保证地访问位图,它们可以直接绑定到应用程序中。如果需要访问非特定于平台的映像,则可以将位图作为嵌入资源包含在共享的可移植类库项目中,并使用ImageSource.From?Resource方法.........【阅读全文】
发布时间:2018-08-14 21:51:07
适合和填充如果在任何先前的代码和XAML示例上设置Image的BackgroundColor属性,您将看到Image实际占据页面的整个矩形区域。 Image定义了一个Aspect属性,用于控制位图在此矩形内的呈现方式。 您将此属性设置为Aspect枚举的成员:AspectFit - 默认值Fill - 拉伸而不保留纵横比AspectFill - 保留纵横.........【阅读全文】
发布时间:2018-08-13 21:56:26
图形用户界面的可视元素可以粗略地分为用于呈现的元素(例如文本)和能够与用户交互的元素,例如按钮,滑块和列表框。文本对于呈现至关重要,但图片通常与补充文本和传达重要信息的方式同样重要。例如,没有图片,网络是不可想象的。这些图像通常是称为位图的图像元素(或像素)的矩形阵列的形式。就像名为Label的视图.........【阅读全文】
发布时间:2018-08-13 21:52:34
设备样式Xamarin.Forms包含六种内置动态样式。 这些被称为设备样式,它们是名为Styles的嵌套类的成员。 这个Styles类定义了12个静态和只读字段,有助于在代码中引用这六个样式:Style样式的BodyStyle。类型为String的BodyStyleKey,等于“BodyStyle”。Ttyle类型的TitleStyle。Tord类型.........【阅读全文】
发布时间:2018-08-11 22:00:46
动态样式Style通常是一个静态对象,它在XAML或代码中创建和初始化,然后在应用程序的持续时间内保持不变。 Style类不是从BindableOb?ject派生的,也不在内部响应其属性的变化。 例如,如果将Style对象分配给元素,然后通过为其设置新值来修改其中一个Setter对象,则新值将不会显示在元素中。 同样,如果添加Setter或.........【阅读全文】
发布时间:2018-08-10 21:40:19
隐含的样式ResourceDictionary中的每个条目都需要一个字典键。这是一个不争的事实。如果您尝试将null键传递给ResourceDictionary对象的Add方法,则会引发ArgumentNullException。但是,有一种特殊情况,程序员不需要提供此字典密钥。而是自动生成字典密钥。这种特殊情况适用于添加到ResourceDictionary而没有x:Key.........【阅读全文】
发布时间:2018-08-09 20:13:57
样式继承Style的TargetType提供两种不同的功能:下一节隐式样式中描述了其中一种功能。 另一个函数是为了XAML解析器的好处。 XAML解析器必须能够解析Setter对象中的属性名称,并且为此需要TargetType提供的类名。样式中的所有属性必须由Target?Type属性中指定的类定义或继承。 设置Style的可视元素的类型必须与Targ.........【阅读全文】
发布时间:2018-08-08 21:52:59
代码中的样式尽管样式大多是在XAML中定义和使用的,但您应该知道在代码中定义和使用它们时的样子。 这是仅代码的BasicStyleCode项目的页面类。 BasicStyleCodePage类的构造函数使用对象初始化语法来模拟定义Style对象并将其应用于三个按钮时的XAML语法:点击(此处)折叠或打开public c.........【阅读全文】
发布时间:2018-08-06 22:04:48
Xamarin.Forms应用程序通常包含具有相同属性设置的多个元素。例如,您可能有几个具有相同颜色,字体大小和布局选项的按钮。在代码中,您可以为循环中的多个按钮指定相同的属性,但在XAML中不能使用循环。如果您想避免大量重复标记,则需要另一种解决方案。解决方案是Style类,它是在一个conient对象中合并的属性设置的集.........【阅读全文】
发布时间:2018-08-05 14:46:51
只读可绑定属性假设您正在使用一个应用程序,在该应用程序中,可以方便地知道Label元素显示的文本中的单词数。 也许您希望将该工具直接构建到源自Label的类中。 我们称这个新类为CountedLabel。到目前为止,您首先想到的是定义一个名为WordCount?属性的BindableProperty对象和一个名为WordCount的相应CLR属性。但是等一.........【阅读全文】
发布时间:2018-08-03 22:26:02
定义可绑定属性假设您想要一个增强的Label类,它允许您以点为单位指定字体大小。 让我们将这个类AltLabel称为“替代标签”。它派生自Label并包含一个名为PointSize的新属性。PointSize应该由可绑定属性支持吗? 当然! (虽然这样做的真正好处直到下一章才会得到证明。)仅代码的AltLabel类包含在Xamarin.FormsBook.........【阅读全文】
发布时间:2018-08-01 22:23:24
查看BindableObject和BindableProperty名为BindableObject和BindableProperty的类的存在最初可能有点令人困惑。请记住,BindableObject与Object非常相似,因为它充当了Xamarin.Forms API的一大块基类,特别是Element和VisualElement。BindableObject为BindableProperty类型的对象提供支持。 BindableProperty对象扩.........【阅读全文】
发布时间:2018-07-31 22:17:02
C#最基本的语言结构之一是称为属性的类成员。 在我们第一次遇到C#的时候,我们所有人都学会了定义属性的一般例程。 该属性通常由私有字段支持,并包含引用pri?vate字段的set和get访问器,并使用新值执行某些操作:点击(此处)折叠或打开public class MyClass{&n.........【阅读全文】
发布时间:2018-07-30 21:30:59
较少使用的标记扩展三个标记扩展名的使用量与其他扩展名不同。 这些是:x:Nullx:Typex:Array您使用x:Null扩展名将属性设置为null。 语法如下所示:点击(此处)折叠或打开<SomeElement SomeProperty="{x:Null}" />这没有多大意义,除非SomeProperty.........【阅读全文】
发布时间:2018-07-28 14:05:44
用于特殊目的的动态资源用于引用Resources字典中的项的StaticResource的替代方法是DynamicResource,如果您在上面的示例中仅使用DynamicResource替换StaticResource,则程序似乎运行相同。但是,这两个标记扩展非常不同。在解析XAML并构建页面时,StaticResource仅访问字典中的项目一次。但DynamicResource维护字典键和该.........【阅读全文】
发布时间:2018-07-26 22:25:53
一本词典树ResourceDictionary类与其他字典施加相同的规则:字典中的所有项必须具有键,但不允许重复键。但是,因为VisualElement的每个实例都可能有自己的资源字典,所以您的页面可以包含多个字典,只要每个字典中的所有键都是唯一的,您就可以在不同的字典中使用相同的键。可以想象,可视化树中的每个可视元素都可以拥.........【阅读全文】
发布时间:2018-07-25 22:21:36
资源词典Xamarin.Forms还支持第二种共享对象和值的方法,虽然这种方法比x:静态标记扩展稍微有点开销,但它更通用 - 因为所有东西 - 共享对象和使用的可视元素 它们 - 可以用XAML表示。VisualElement定义了一个名为Resources的属性,它属于ResourceDictionary类型 - 一个带有字符串键和类型为object的值的字典。 可.........【阅读全文】
发布时间:2018-07-24 21:55:53
访问静态成员IMarkupExtension最简单和最有用的实现之一封装在StaticExtension类中。 这是原始XAML规范的一部分,因此它通常出现在带有x前缀的XAML中。 StaticExtension定义了一个名为Member of string的属性,您可以将其设置为公共常量,静态属性,静态字段或枚举成员的类和成员名称。让我们看看它是如何工作的。 .........【阅读全文】