![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
C НГ всех.
Хочу прибиндтить ActualHeight к сурсу
Но т.к. ActualHeight readonly - сделать этого нельзя. Можно сделать наследник текстбокса, но что то не хочется, свои причины есть. Расширяемых свойств увы нет. Какие еще варианты есть, для решения проблемы? -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 5 Всего: 42 |
CYBERDREAM, ActualHeight - это вычисляемое значение. Т.е. запись туда чего-либо не даст эффекта. Решай задачу через Height.
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
мне нужно это значение записать в др. объект. Height - у меня Auto, то бишь Nan возращается. Так что не канает(( -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
тоесть ты хочешь у текстбокса записать значение из ActualHeigth в Heigth одного и тогоже контрола7?????
Это премия Говнокода. сори за испорченый праздник Смысл? ActualHeigth-показывает реальный размер контрола в данный момент. тогда как Heigth - задает стартовый параметр в момент запуска программы. |
|||
|
||||
| CYBERDREAM |
|
||||||||||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
Я же не указывал что биндинг происходит к этому же текстбоксу, не так ли? Ну если бы я это имел ввиду, не спорю ,а так вы не правильно меня поняли. Есть XML файл
Есть схема:
и класс сгенеренный по ней
Есть дататемплэйт, который из моего XML файла генерит таблицу
Высоту у TextBox'ов для RowHeader я не знаю, но мне нужно получить его ActualHeight после генерации этого кода) поэтому я хотел написать нечто вроде
т.е. ActualHeight был бы записан в свойство Height класса RowHeader Тогда бы таблица с данными имела бы одинаковые высоты строк с выстой строк заголовков Это сообщение отредактировал(а) CYBERDREAM - 1.1.2011, 17:18 Присоединённый файл ( Кол-во скачиваний: 10 )
screen.PNG 30,47 Kb-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||||||||||
|
|||||||||||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
Чувствую что, что то тут неразрешимое. К счастью я мало книг читал, и мало знаю.
Могу тебе посоветовать лиш изменить ход событий. чтото подправить, или поменять. меня смушают несколько факторов: 1{Binding Path=Height, Mode=OneWayToSource} биндинг пустой. Значит идет запрос к DataContext. ково я у тебя не нашел. 2 Mode=OneWayToSource ты запихиваешь параметр во что то... исходя из первой притензии. 3 в учебниках это называют "Латанием дыр", и решают учителя эти моменты совсем по иному. Максимум что могу я тебе посоветовать, это ручками (программно) после InitializeComponent(); обработать то, что ты там хочешь поменять. Добавлено через 4 минуты и 22 секунды Еще можно использовать класс Converter, из которого обработать передачу данных. |
|||
|
||||
| CYBERDREAM |
|
||||||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
WolfTheGrey,
не понял
как ты мог видеть из скриншота, генериться куча текстбоксов, где каждый текстбокс отображает информацию из определенного объекта (Датаконтекст содержит массив RowHeader & ColumnHeader) так что пока не представляю как в Initialize это сделать. Чем конвертер может помочь? пока тоже не представляю -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||||||
|
|||||||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: 2 Всего: 2 |
создать свойтсво MyHeigth + реализовать InotifyPropertyChanged
привязать все текстблоки к этому свойству. А после InitializeComponent(); дать команду выравняться. мол дать самую большую велечину. ну или пусть свойство выберает самое большое число и принимает его, а мелоч отвергает. |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
Все текстблоки к одному свойству связывать не надо. Свойство и так создано, зачем предлагать еще одно создавать?
Они и так выравниваются, мне для этого и команду не надо никакую выполнять. Зачем мне самое большое число? Каждая строка может иметь свою независимую от других высоту. Чуть позже выложу пример, тупик какой то с объяснением -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
CYBERDREAM, я често пытался понять что надо сделать и смотрел на скриншот... наверное вечер и я не смог. Что касается проблемы - тут два варианта:
1) Привязываться из другого места к ActualHeight (потому что ActualHeight вам не забайндить) 2) Подписываться на события а-ля Loaded и там вычислять всё что надо Дальше проблем не вижу. Хотя повторюсь - возможно не понял вопрос до конца. |
|||
|
||||
| CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
уж простите, коль так плохо получается изъяснить мысль.
что имелось ввиду еще раз в кратце. (отрывок из шаблона)
Для каждого объекта RowHeader создается DockPanel с двумя чилдами (текстбоксами). Мне хотелось чтобы при изменении высоты DockPanel'a менялось свойство объекта RowHeader. (свойство Height). Т.к. Height Auto - биндить его нет смысла, так как оно равно Nan. А ActualHeight нельзя поскольку оно только для чтения Проблему таки решил, следующим образом. Подписался на событие LayoutUpdated и в нем с помощью рекурсивной функции использующей VisualTreeHelper.GetChilds получил все DockPanel, у которых DataContext is RowHeader и присваивал нужному свойству ActualHeight. примерно так:
WolfTheGrey, Kefir спасибо. -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |