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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM