如何在xamarin中绑定来自Syncfusion的SfMaskedEdit?

时间:2018-06-15 17:25:32

标签: c# android ios xamarin syncfusion

我正在使用Syncfusion及其控件SfMaskedEdit,我在viewModel中绑定到属性时遇到问题;我试过这样的事情:

        <StackLayout BindingContext="{Binding PagePrueba}">
        <syncfusion:SfMaskedEdit x:Name="maskedEdit"                                
                                 Keyboard="Telephone" 
                                 MaskType="RegEx" 
                                 Mask="+1(\d{3})\d{7}" 
                                 ValueChanged="MaskedEdit_OnValueChanged"/>

但它不起作用。它给了我一个错误MaskedEdit_OnValueChanged没有资金。即使在我的viewModel中我也有

        private void MaskedEdit_OnValueChanged(object sender, Syncfusion.XForms.MaskedEdit.ValueChangedEventArgs e)

如果我使用正常条目执行此操作

<Entry Text="{Binding TelephoneNumber}"></Entry>

它完美无缺。这是控件的文档:  Syncfusion

谢谢大家的时间

1 个答案:

答案 0 :(得分:2)

我已检查您的查询,以使用SfMaskedEdit在视图模型中绑定属性。为此,可以将SfMaskedEdit控件的Value属性与视图模型属性绑定。

在ViewModel类中:

    class MaskedEditViewModel
    {
    private string valueText;
    public string ValueText
    {
        get
        {
            return valueText;
        }
        set
        {
            SetValue(value); 
        }
    }

    private void SetValue(string data)
    {
        valueText = data;
        Application.Current.MainPage.DisplayAlert("Alert", string.Format("The current value is {0}", data),"OK");
    }
    }

XAML

<syncfusion:SfMaskedEdit Mask="00/00/0000" ValidationMode="KeyPress" 
x:Name="maskedEdit" Value="{Binding ValueText}">

您可以从下面找到示例 http://www.syncfusion.com/downloads/support/directtrac/general/ze/MaskedEdit_MVVM938250655