Dev Express WPF GridControl — автоматическое уменьшение размера

У меня есть DX GridControl в строке * height, например:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>​
...​
    <Grid x:Name="ContainingGrid" Grid.Row="1">
        <dxg:GridControl Height="{Binding ActualHeight, ElementName=ContainingGrid}">
            <dxg:GridControl.Columns>
...
            </dxg:GridControl.Columns>
        </dxg:GridControl>
    </Grid>
</Grid>

Это прекрасно работает — строка отображается, получает определенное значение ActualHeight, и высота сетки привязывается к этому значению, что позволяет избежать необходимости указывать свойство AllowInfinite​GridSize.

Однако все это содержится в изменяемом размере модуля. Когда я увеличиваю этот модуль, Grid растет вместе с ним, а GridControl растет вместе с Grid, как я и надеялся/ожидал. Однако, когда я изменяю размер модуля, чтобы он был меньше, высота GridControl остается на большем значении.

Я думаю о привязанном поведении, но не уверен, что мне следует делать в нем. Любые предложения о том, как заставить GridControl изменить размер вниз, чтобы соответствовать его контейнеру?


person Lyall    schedule 22.02.2013    source источник


Ответы (1)


Я пытался воспроизвести эту проблему, но у меня все работает нормально. Я думаю, что у вас есть что-то дополнительное в вашем коде, что вызывает эту проблему. Я также не могу понять, почему вы делаете эту привязку. Без этой привязки размер GridControl будет изменен правильно. Обратите особое внимание на то, что GridControl ничего не делает со своей высотой. Если вы измените GridControl на стандартную кнопку, эта кнопка будет работать как сетка.

person Mirimon    schedule 25.02.2013
comment
Привет Алекс, спасибо за ответ здесь. Элементы управления содержатся в модуле менеджера компоновки, который построен на основе менеджера компоновки Syncfusion. Я буду исследовать дальше, чтобы увидеть, является ли это причиной проблемы. - person Lyall; 02.03.2013
comment
О, кстати, причина привязки к ActualHeight заключается в том, чтобы избежать исключения InfiniteGridSize. Учитывая ваше удивление по этому поводу, я думаю, это также может быть связано с менеджером компоновки... - person Lyall; 02.03.2013
comment
Как я вижу, ваш макет сложнее, чем вы написали в своем первом сообщении. Вот почему я боюсь, что мне нужна более подробная информация о вашей структуре макета. Я предлагаю вам создать новую заявку с этим вопросом в нашем Центре поддержки и указать эту информацию там. Если вы приложите тестовый образец, это будет очень полезно для нас. - person Mirimon; 04.03.2013
comment
Алекс - сделаю, когда у меня будет время собрать хороший рабочий пример, может быть, не сразу... здесь конфликтующие приоритеты. :) - person Lyall; 05.03.2013