У меня TimeSpan
с пользовательским форматом, как @"hh\:mm\:ss\.fff"
, и хотят использовать MaskedTextBox
из Xceed (https://wpftoolkit.codeplex.com/wikipage?title=MaskedTextBox&referringTitle=Home), чтобы помочь пользователю ввести правильный отрезок времени.Преобразование TimeSpan FormatString к InputMask
Теперь я преобразовать FormatString
-свойство к маске ввода, как этот
public string InputMask
{
get
{
string mask = FormatString.Replace('h', '0');
mask = mask.Replace('m', '0');
mask = mask.Replace('s', '0');
mask = mask.Replace('f', '0');
mask = mask.Replace('d', '0');
return mask;
}
}
это решение выглядит некрасиво и не ремонтопригодно если FormatString получает еще один формат, который я еще не знаю. Есть ли более элегантное решение (например, с заменой регулярного выражения), которое заменяет любую букву 0
?
[Это] (http://stackoverflow.com/questions/9975640/check-if-char-isletter)? Но я бы пошел с 'for (int i = 0; i
Sinatr
это не работает, потому что 'mask [i]' не имеет сеттера, а строки неизменяемы. – Herm
Тогда я пришел в stackoverflow и разместил здесь свой вопрос = D – Sinatr