新文章 网摘 文章 随笔 日记

Xamarin表单-单选按钮和复选框

您可能已经不得不在应用程序中使用Xamarin Forms默认不支持的特定控件。大多数使用Xamarin开发的人已经通过的一个非常常见的例子是需要使用CheckBox或Radio Button。

由于两个平台均不支持该控件,因此Xamarin Forms不支持此控件。

Xamarin Forms的新版本已对此进行了更改,主要是使用新语法OnPlataform,请单击此处查看更多信息。

即使使用新版本的Xamarin Forms,我们在Xamarin Forms中仍然没有单选按钮和CheckBox控件。

在本文中,我们将看到一个插件,其中除了单选按钮和复选框外,还包含一些控件示例,这些控件在开发中非常有用。

Xamarin.Forms.InputKit插件

有许多插件,其中包含准备就绪可以使用的多个数据输入组件。在这篇文章中,我们将更多地了解普通的Xamarin.Forms.InputKit以及它如何通过没有在两个平台上都可以使用的Radio Button和CheckBox控件来帮助我们解决问题。

该插件是开源的,其代码可在该项目的GitHub上找到,单击此处以进行访问

插件文档非常完整,其中包含有关如何使用控件以及运行中的控件图像的几个示例。鉴于该插件的文档非常完整,在本文中我将不再赘述,让我们仅看一下Radio Button和CheckBox控件。

安装插件

要安装插件,请右键单击解决方案,然后选择“为解决方案管理Nuget软件包”(如果您的版本是葡萄牙语,请选择“管理解决方案NuGet软件包”旁边的内容)

搜索Xamarin.Forms.InputKit

nuget包

我们将在.Net Standart项目和所有平台上安装该软件包。

在Android项目中,我们还需要安装Plugin.CurrentActivity插件安装插件后,让我们通过添加以下行在OnCreate方法的MainActivity.cs类中启动它:

CrossCurrentActivity.Current.Init(this, savedInstanceState);

在那里,该插件已经安装并可以使用了!

在项目中,我们已经有了MainPage.xaml页面,我们将在该页面上添加示例控件。

为了使MainPage.xaml页面能够使用插件,我们需要在页面的xaml中添加对该插件的引用:

xmlns:input="clr-namespace:Plugin.InputKit.Shared.Controls;assembly=Plugin.InputKit"

复选框

该插件提供CheckBox控件和一些自定义选项。

例如,我们可以选择哪个图标代表该对象的选择,例如星形,常规的对角线,甚至是一个完全涂漆的正方形(如盒子)

将以下源代码添加到MainPage.xaml,以将一些CheckBox添加到屏幕:

<StackLayout Padding="30,0" Spacing="12">
    <input:CheckBox Text="Valor 1" Type="Box" />
    <input:CheckBox Text="Valor 2" Type="Check" />
    <input:CheckBox Text="Valor 3" Type="Cross" />
    <input:CheckBox Text="Valor 4" Type="Star" />
</StackLayout>

请注意,我们将Type属性从控件更改为控件,以更改选择图标。

除了此属性,您还可以自定义框的大小,框的颜色和其他内容。

如果您正在使用MVVM,并且想在视图模型中保留是否选择了组件,请使用IsChecked属性

单选按钮

单选按钮的功能类似于CheckBox,两者之间的主要区别在于RadioButton仅允许选择一个。

为此,单选按钮使用控件来包装所有单选按钮,这是单选按钮组视图。

要将单选按钮添加到MainPage.xaml,让我们添加以下代码:

<StackLayout Padding="30,0" Spacing="12">
    <input:RadioButtonGroupView>
    <input:RadioButton Text="Opção 1" />
    <input:RadioButton Text="Opção 2" />
    <input:RadioButton Text="Opção 3" />
    <input:RadioButton Text="Opção 4" />
    </input:RadioButtonGroupView>
</StackLayout>

请注意,单选按钮位于RadioButtonGroupView内,这将仅允许一个控件处于选定状态。

如果使用MVVM,则可以在“视图模型” 中将“ 文本”属性设置为一个值。

为了找出被选中的人,您将具有一些选项,例如将视图模型的属性添加到每个控件IsChecked属性,或在RadioButtonGroupView中将SelectedItem属性添加到视图模型的属性。

在此控件中,我们还可以自定义元素的颜色,文本的颜色和其他属性。

结论

尽管Xamarin Forms和Microsoft Xamarin团队已经发布了新版本,但某些组件仍然需要外部插件才能以更简单的方式实现。当然,本文中提到的两个控件都可以在您的应用程序中使用“自定义渲染器”来完成,但是这种方法除了花费更多的时间外,还可能会遇到一些错误。由于此处提到的插件是开源的,因此我们可以在项目的GitHub上关注问题,错误,版本以及有关它的所有信息。

--

#Ubuntu

参考资料 

https://github.com/enisn/Xamarin.Forms.InputKit
 
posted @ 2020-08-06 15:32  岭南春  阅读(1380)  评论(1编辑  收藏  举报