2017-10-17 180 views

回答

1

你必須創建NumericEntry喜歡自己的控制:

public class NumericTextBox : Entry 
{ 
    public NumericTextBox() 
    { 
     this.Keyboard = Keyboard.Numeric; 
    } 
} 

然後,在你的Android項目,創建自定義呈現:

[assembly: ExportRenderer(typeof(NumericTextBox), typeof(CustomNumericTextboxRenderer))] 

namespace xxx.Droid.Renderers 
{ 
    public class CustomNumericTextboxRenderer : EntryRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
     { 
      base.OnElementChanged(e); 

      var native = Control as EditText; 

      native.InputType = Android.Text.InputTypes.ClassNumber | Android.Text.InputTypes.NumberFlagSigned | Android.Text.InputTypes.NumberFlagDecimal; 
     } 
    } 
} 

這已經過測試和Droid的設備工作。它允許輸入帶有小數點的負值/正值。它適當地禁止輸入錯誤的十進制值。

+0

@Jackson,你可以在Wilson Vargas的例子中用'Entry'替換'TextBox'。 –

+0

@York Shen - MSFT非常感謝你! – Jackson