Привязка пользовательского свойства зависимости к пользовательскому стилю WPF

С. Джонс ответил неверно. Если вы используете средство форматирования, вы рискуете, что Apple в какой-то момент изменит свою кодовую базу и заставит средство форматирования выпустить частичный результат. Том тоже не прав. Если вы используете метод rangeOfCharacterFromSet и проверяете наличие NSNotFound, он зарегистрирует значение true, если строка содержит хотя бы одно число. Аналогичным образом, другие ответы в этой теме предлагают использовать метод целочисленных значений. Это также неправильно, потому что он зарегистрирует true, если в строке присутствует хотя бы одно целое число. ОП запросил ответ, который гарантирует, что вся строка является числовой. Попробуйте это:

NSCharacterSet *searchSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];

Том был прав насчет этой части. Этот шаг дает вам нечисловые строковые символы. Но затем мы делаем это:

NSString *trimmedString = [string stringByTrimmingCharactersInSet:searchSet];

return (string.length == trimmedString.length);

Перевернутый набор символов Тома может TRIM строку. Таким образом, мы можем использовать этот метод обрезки, чтобы проверить, существуют ли какие-либо не цифры в строке, сравнивая их длины.

7
задан Alastair Pitts 10 June 2009 в 01:57
поделиться

1 ответ

В стиле мы можем использовать стандартную привязку с RelativeSource для настройки свойства.

<ProgressBar Name="ProgressBar"
             Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Progress}"
             Minimum="0"
             Maximum="100" />

Затем в окне мы просто добавляем Progress = "50" или привязку куда-нибудь else.

Вам также нужно будет сделать фон кнопки прозрачным или изменить макет, чтобы увидеть его.

13
ответ дан 6 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: