我有一個datagrid,其中我有數量字段是關閉類型整數。現在我想限制我的用戶只輸入正整數。我不想要一個在datagrid關鍵事件上處理輸入的解決方案。有什麼建議麼?在wpf datagrid中限制用戶輸入爲正整數
這裏是我使用
public class ValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{ return value; }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (!OnlyPositiveIntergerAllowed(value.ToString()))
{
string s = Regex.Replace(value.ToString(), @"[^0-9]+", string.Empty);
if(s=="")
return 0;
else
return s;
}
if (value is string && (string)value == "")
{
return 0;
}
return value;
}
private static bool OnlyPositiveIntergerAllowed(string text)
{
var regex = new Regex("[^0-9]+"); //regex that matches disallowed text
return !regex.IsMatch(text);
}
}
注意轉換器:(即,如果123dasd其轉換上失去焦點123)它工作正常,但我可以讓用戶輸入(DASD)。
請您可以張貼XAML爲您的DataGrid,所以我可以看到它是如何設置的? –
這裏是xaml –
lordhusnain
嘗試設置Amount的類型爲uint, t使用任何轉換器綁定 –