How to create NumericTextBox sample in Xamarin.Forms.iOS platform
NumericTextBox is an advanced version of the Entry control that restricts input to numeric values.The below illustrates how to create the carousel control in Xamarin.Forms iOS platforms.
Needed assemblies:
For getting the view of NumericTextBox control, need to add the following assemblies in both PCL and iOS (unified) in Xamarin.
Project | Assemblies Required |
PCL | pcl\Syncfusion.SfNumericTextBox.XForms.dll
|
iOS (unified) | iOS-unified\Syncfusion.SfNumericTextBox.iOS.dll
|
Create a NumericTextBox in C# level:
namespace KBSolution { public partial class KBSolutionPage : ContentPage { public KBSolutionPage() { InitializeComponent(); Grid grid = new Grid() { BackgroundColor = Color.FromHex("E4EAF0") }; grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(30) }); grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(50) }); Label firstNumeric = new Label() { Text = "NumericTextBox", FontSize = 20, HorizontalOptions = LayoutOptions.Center, FontAttributes = FontAttributes.Bold, HorizontalTextAlignment = TextAlignment.Start, VerticalTextAlignment = TextAlignment.Start }; SfNumericTextBox sfNumericTextBox = new SfNumericTextBox() { WidthRequest = 180, ParserMode = Parsers.Decimal, HorizontalOptions = LayoutOptions.Center, MaximumNumberDecimalDigits = 2, AllowNull = true, BorderColor = Color.Blue, TextColor = Color.Maroon, Value = 1000, FormatString = "c", ValueChangeMode = ValueChangeMode.OnKeyFocus, PercentDisplayMode = PercentDisplayMode.Value, FontSize = 20 }; grid.Children.Add(firstNumeric, 0, 0); grid.Children.Add(sfNumericTextBox, 0, 1); this.Content = grid; } } }
Create a NumericTextBox in Xaml level:
<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:KBSolution" xmlns:Synfusion="clr-namespace:Syncfusion.SfNumericTextBox.XForms;assembly=Syncfusion.SfNumericTextBox.XForms" x:Class="KBSolution.KBSolutionPage"> <ContentPage.Content> <Grid BackgroundColor="#E4EAF0"> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition Height="50"/> </Grid.RowDefinitions> <Label x:Name="firstNumeric" Text="NumericTextBox" FontSize="20" HorizontalOptions="Center" FontAttributes="Bold" HorizontalTextAlignment="Start" VerticalTextAlignment="Start"/> <Synfusion:SfNumericTextBox Grid.Row="1" WidthRequest="180" ParserMode="Decimal" HorizontalOptions="Center" MaximumNumberDecimalDigits="2" AllowNull="true" BorderColor="Blue" TextColor="Maroon" x:Name="sfNumericTextBox" Value="1000" FormatString="c" ValueChangeMode="OnKeyFocus" PercentDisplayMode="Value" FontSize="20" /> </Grid > </ContentPage.Content> </ContentPage>
Note: Need to add the Renderer of NumericTextBox in AppDelegate class to get the view of NumericTextBox in iOS platforms.
namespace KBSolution.iOS { [Register("AppDelegate")] public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate { public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); new SfNumericTextBoxRenderer(); LoadApplication(new App()); return base.FinishedLaunching(app, options); } } }