Articles in this section
Category / Section

How to bind value in Xamarin.Forms NumerictextBox?

1 min read

To bind the value in NumericTextBox using MVVM pattern, follow the given steps:

Step 1:  Create the Xamarin forms sample.

Step 2: Install the NumericTextBox NuGet from nuget.org and include the NumericTextBox namespace.

Step 2: Create a ViewModel class and add a property to bind the Value property in NumericTextBox as mentioned in the below code sample.

[C#]:

//ViewModel class
 
public class ViewModel : INotifyPropertyChanged
{
 public event PropertyChangedEventHandler PropertyChanged;
 private float _value=5;
 
 public float Value
           {
     get{ return _value;}
     set{_value = value;RaisePropertyChanged ();}
            }
 
            protected void RaisePropertyChanged([CallerMemberName]string propertyName = "")
 {
   if (this.PropertyChanged != null)
  {
      this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
   }
           }
}

 

The ViewModel class should extends INofityPropertyChanged, implement its event and raised from Value's property setter as like above snippet, then only we can get the property changing notifications.

Step 3: Set the BindingContext to ViewModel.

[XAML]:

<ContentPage.BindingContext>
    <local:ViewModel />
</ContentPage.BindingContext>

 

Step 4: Initialize the SfNumericTextBox control and bind the value property as shown in the below code sample.

[XAML]:

<ContentPage.Content>
    <StackLayout >
        <syncfusion:SfNumericTextBox x:Name="numericTextBox" 
                                                             Value="{Binding Value, Mode=TwoWay}"
                                                             HorizontalOptions="Center" 
                                                             VerticalOptions="Center" />
    </StackLayout>
</ContentPage.Content>

 

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please  to leave a comment
Access denied
Access denied