![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| NightBlaze |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 23.3.2008 Репутация: нет Всего: нет |
Подскажите как правильно сделать наследника Line.
Необходимо, чтобы обычная линия инкапсулирвоала дополнительные свойства и методы. Напрямую создать потомка не получается, т.к. класс Line помечен как sealed. Если я создаю UserControl с линией, то мне приходится фактически работать с двумя объектами: самой линией и моим контролом, который содержит необходимые свойства. Чувствую, что проблема как-то просто решается, но никак не могу найти ответ |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
NightBlaze, если не получается наследовать, то всегда есть возможность агрегировать объект Line
-------------------- СУВ, Partizan. |
|||
|
||||
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 3 Всего: 8 |
А если наследоваться от shape, и "повторить" функционал line? Там же вроде не сложный контрол.
|
|||
|
||||
| NightBlaze |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 23.3.2008 Репутация: нет Всего: нет |
Partizan, можешь вкратце рассказать что такое "агрегировать"?
dazy, хотелось бы именно от линии, чтобы не писать лишнего кода |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
NightBlaze,
Данный пример только демонстрирует принцип агрегации...реально вместо ActualWidth и ActualHeight должны быть DependencyProperty з.ы. а ещё можно совместить наследование Shape с агрегацией объекта Line и выполнение необходимых действий передать агрегируемому объекту. -------------------- СУВ, Partizan. |
|||
|
||||
| NightBlaze |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 23.3.2008 Репутация: нет Всего: нет |
Partizan, спс уже разобрался что такое агрегация. На самом деле я ее использую, просто не знал, что этот прием так называется.
Пойду копать в сторону депенденси пропети, т.к. раньше их не использовал. |
|||
|
||||
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 3 Всего: 8 |
Удобный сниппет, чтобы не писать в ручную эту тягомотину. |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
dazy, да вроде в студии встроенный есть propdp
-------------------- СУВ, Partizan. |
|||
|
||||
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 3 Всего: 8 |
Я не знаю, может он для WPF и подходит, но для SL, мне его постоянно править приходилось. А этот, вроде сразу то что надо. Хотя, честно говоря, я не помню этот сниппет ставил или какой другой, их вообще-то в сети навалом, поделок таких. Добавлено через 6 минут и 40 секунд Точно, вру... вот эту сборку сниппетов ставил, нормально работают. Есть простой ДП, или с коллбеком, ну и еще удобные штучки, которые экономят время и нервы. --- это все для сильверлайта онли ---- |
|||
|
||||
| NightBlaze |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 23.3.2008 Репутация: нет Всего: нет |
dazy, спс
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |