![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 3 Всего: 8 |
Сделал cuctom control, в шаблоне определяю связь разных свойств контрола с его внутренностями:
Fill="{TemplateBinding Background}" - срабатывает хорошо и ни каких нареканий нет. А вот StrokeThickness="{TemplateBinding BorderThickness.Left}" не хочет связываться. VS выдает "Type BorderThickness was not fownd" Если биндить так StrokeThickness="{TemplateBinding BorderThickness}" (без .Left), то все компилируется, но естественно не работает должным образом, потому как BorderThickness это структура, а StrokeThickness это double. Если делаю свое DP типа double, то вообще вываливается какая-то страшная ошибка, причем, только в Expression Blend, в VS все компилится, приложение не запускается. Делаю, DP типа Color, ну так, ради проверки, может я не правильно делаю DP, все в порядке. Но DP c double, float запускаться не хочет, хотя в VS ошибок компиляции нет. В чем может быть проблема? |
|||
|
||||
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 3 Всего: 8 |
Проблему DP победили:
Оказывается, у меня PropertyMetadata была такого вида PropertyMetadata(0)); этот 0 воспринимается компилятором как int, чтобы число имело тип float, нужно явно указать тип (Double)0, или писать его в формате 0.0 На BorderThickness.Left плюнул, забиндил Path. StrokeThickness на успешно созданное StrokeThickness. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |