![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| interv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
Есть окошко
в превьюве отображается дрянь (то же и в откомпилиной программе), колонки не растягиваются по ширине таблицы. если у Grid задать фиксированный Width, то все в порядке. Это сообщение отредактировал(а) interv - 22.10.2013, 07:56 Присоединённый файл ( Кол-во скачиваний: 4 )
Безымянный.png 2,55 Kb |
|||
|
||||
| dzaraev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Я не знаю, что я делаю не так, но у меня всё красиво, воспроизведите проблемы на моём примере, если что.
Присоединённый файл ( Кол-во скачиваний: 1 )
WpfApplication31.zip 10,44 Kb--------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
| interv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
Действительно, возможно ошибка глубже.. Будем капать.
Спасибо. |
|||
|
||||
| interv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
В общем вот глючная разметка, совсем забыл сказать, DataGrid выступает в виде RowDetailsTemplate у DataGrid'а
|
|||
|
||||
| dzaraev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Всё просто, вы использовали звездочки в значениях DataGridTextColumn.Width. Но такой синтаксис прокатывает только для тех элементов, у которых свойства Height/Width имеют тип GridLength(ссылка) (например классы ColumnDefinition/RowDefinition) и с которыми связан экземпляр GridUnitType(ссылка).
Вы же используете класс DataGridTextColumn, у которого свойство Width/Height имеет тип double. Wpf знает, как превратить звёздочку * в GridLength, но не знает, как её превратить в double. В итоге во время выполнения ваши колонки получают в свойствах Width значение double.NaN и все колонки оказываются свёрнутыми. Что я изменил в вашем примере: значения свойств DataGridTextColumn.Width переставил на Auto - этот синтаксис WPF "понимает" для данного класса. Плюс добавил несколько свойств и данных, просто чтобы увидеть грид "в работе". Это сообщение отредактировал(а) dzaraev - 25.10.2013, 07:26 Присоединённый файл ( Кол-во скачиваний: 1 )
WpfApplication31.zip 5,72 Kb--------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
| interv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
Большое спасибо, но auto не подойдет, мне нужно что-то подобное.
На данный момент перехватываю события изменения колонок родительского DataGrid, и устанавливаю фактическую ширину у Expander по сумме фактических размеров колонок в пикселях. Вот такой костыль. В инете до сих пор ответа не нашел. ЗЫ: DataGridTextColumn.Width имеет тип DataGridLength, а вот свойство ActualWidth уже имеет тип Double. Пожалуйста не путайте. Присоединённый файл ( Кол-во скачиваний: 2 )
Безымянный.png 10,18 Kb |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |