Я использую последний Инструментарий WPF, но сталкиваюсь с проблемой высоты, когда мне связали большой официальный набор документов в a DataGrid
в AccordionItem
объект. Высота Accordion
самостоятельно масштабы приятно, но DataGrid
в аккордеоне не добирается управление, получают a ScrollBar
или будьте ограничены всегда, таким образом, записи скрыты.
Я знаю, что по всей вероятности пропускаю что-то очень простое (как привязка от DataGrid
свойство высоты к Аккордеону, но это кажется грязным),
вот является сокращение вниз версией кода (и да, это имеет ту же проблему, если Вы связываете в большом recordset),
...
...
...
Похоже, моя первоначальная идея была верна - Единственный способ, которым я смог решить эту проблему - привязать MaxHeight
DataGrid
к ActualHeight
AccordionItem
Добавление следующего свойства к каждому DataGrid
помогло
MaxHeight="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type layouttoolkit:AccordionItem}},Path=ActualHeight}"
Я так рад, что наткнулся на это! Этот QA должен быть проголосован. У меня была похожая проблема, только с шириной столбцов.
Мой DataGrid имел Width="Auto", наряду с некоторыми *-размерными ширинами столбцов. Вне аккордеона DataGrid отображался нормально, но внутри аккордеона ширина всех колонок уменьшалась до 10px каждая. Не могу понять почему. Может быть это ошибка?
Я заметил, что если установить статическую ширину, например 400 вместо Auto, то колонки отображаются правильно. Затем я попробовал привязать ширину DataGrid к ActualWidth AccordionItem, как это сделали вы, и теперь все работает отлично. Спасибо, сэр!