Раньше, я создавал константу цвета при помощи функции RGB, но в последних обновлениях запретили использовать функции при объявлении константы. Как это можно сделать теперь?
const
my_color = #BBGGRR // Что-то такое есть?
upd:
через символ $, как, например, в Delphi, эта среда возвращает integer-число, которое через функцию во всех упоминаниях придется конвертировать. Ну такое
Честно говоря, код я писал очень давно, тогда PABC.NET еще о WPF даже не слышал. И когда делаю цвет в виде переменной, отрисовка идет неправильно. Словно где-то меняется значение, Хотя тогда бы не запускался код когда это была константа. Вообщем, нет времени разбираться как это выходит.
Это плохое решение. Если что-то - это переменная, то компилятор не может проконтролировать изменяете ли Вы её или нет - соответственно из-за этого могут быть ошибки. Использование констант - дело само по себе хорошее, но, когда это невозможно по техническим причинам, можете использовать вместо них свойства, как уже выше и сказал.
Попробуйте посмотреть все ссылки на такие переменные, возможно, увидите, что они изменяются где-то по ошибке.
Проблема в том, что System.Windows.Media.Color - это структура, у которой поля задают значение альфы и компонент цветовых каналов. Поэтому через константу Color определить невозможно. А запрет в значениях констант на выражения с функциями введен из-за того, что есть множество ситуаций, когда на стадии компиляции значение вычислить невозможно.