0

Использование Visual Studio 2012 Lightswitch C# Silverlight Web.Формат SSN как пользовательские типы

Я хотел бы автоформатировать текстовое поле типа ### - ## - ####, когда пользователь вводит #########. Очень похоже на то, как свойство compute работает в Lightswitch, за исключением того, что мне нужно это в текстовом поле.

Пример: Я хотел бы достичь чего-то вроде this, за исключением Lightswitch.

Нужно ли создавать пользовательский тип бизнеса или это можно сделать непосредственно в Lightswitch?

+2

Вы считали, что вместо этого используете 3 текстовых поля? –

+0

В Silverlight отсутствует MaskedTextBox, проект [this] (http://www.codeproject.com/Articles/24822/Silverlight-Super-TextBox-ComboBox-Masked-TextBox) описывает, как создать свой собственный. –

ответ

0

Выяснил это.

Как обычно, Бет Масси объяснил, как это сделать here. Нет необходимости в настраиваемых бизнес-типах или пользовательских элементах управления silverlight.

Из моих данных приложения я создал метод _Validate в своем поле SSN. Код выглядит так:

partial void SSN_Validate(EntityValidationResultsBuilder results) 
    { 
     if (this.SSN != null) 
     { 
      if (this.SSN.Length == 9 && !this.SSN.Contains("-")) 
      { 
       this.SSN = this.SSN.Substring(0, 3) + "-" + this.SSN.Substring(3, 2) + "-" + this.SSN.Substring(5); 
      } 

      if(!Regex.IsMatch(this.SSN, @"^\d{3}-\d{2}-\d{4}$")) 
      { 
       results.AddPropertyError("Please enter a valid SSN (i.e. 123-45-6789)."); 
      } 
     }    
    } 
Смежные вопросы