Здравствуйте, Kalina9001, Вы писали:
K>Очень надо!!!
Ячеек каких? Если значений свойств — то легко: свой наследник от UITypeEditor, в нем перекрыть PaintValue. Навешивается на нужное свойство с помощью EditorAttribute.
M>Ячеек каких? Если значений свойств — то легко: свой наследник от UITypeEditor, в нем перекрыть PaintValue. Навешивается на нужное свойство с помощью EditorAttribute.
Так рисуется только иконка, мне же нужно перечеркнуть текст
Здравствуйте, maybeleo, Вы писали:
M>Здравствуйте, Kalina9001, Вы писали:
K>>Так рисуется только иконка, мне же нужно перечеркнуть текст
M>"Там" можно нарисовать все, что угодно.
Ответил несколько резковато, прошу, если что, прощения
Короче, смысл в чем. Мне тоже не удалось в свое время найти человеческий способ кастомной отрисовки значений. Однако это все-таки можно сделать, хотя и крайне криво. Стоит ли такое применять в готовом продукте — решайте сами (я не стал), а схема такая:
1. Создать свой PropertyConverter, который при конвертации в string должен вернуть null, навесить на нужное свойство с помощью TypeConverterAttribute
2. Создать свой UITypeEditor, в нем перекрыть GetPaintValueSupported (вернуть true) и PaintValue (рисовать по вкусу, не ограничиваясь PaintValueEventArgs.Bounds и, самое главное, и основной костыль — сразу после рисования кинуть Exception ), навесить на нужное свойство с помощью EditorAttribute.
Наблюдать результат В принципе, все хорошо, за исключением того, что при выделении строчки с таким свойством большую часть нарисованного таким образом значения будет перекрывать окно EDIT, ну а при непосредственно редактировании, рисование значения будет осуществляться самим EDIT-ом, естественно