Ответ 1
Вы можете избежать символа %
:
[DisplayFormat(DataFormatString = @"{0:#\%}")]
Обратите внимание, что в качестве escape-символа существует два способа использования \
: если вы префикс строкового литерала с символом verbatim (@
), то символы \
включены в строку as-is, что означает, что в качестве части строки формата одиночный \
будет функционировать как escape-символ.
Без символа @
verbatim \
интерпретируются как escape-строки компилятором и как таковые должны быть экранированы сами, как \\
.
Выберите один или другой, но не оба:
@"{0:#\%}" -> right
"{0:#\\%}" -> right
@"{0:#\\%}" -> wrong