Я разрабатываю надстройку для Outlook в WPF. Надстройка Outlook является UserControl. Мой упрощенный внешний вид кода XAML:
<UserControl>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="150"/>
<RowDefinition Height="*"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0">Header</TextBlock>
<ListBox Grid.Row="1"></ListBox>
<Button Grid.Row="2"></Button>
</Grid>
</UserControl>
Элементы списка загружаются динамически. С помощью этого класса, который я основал здесь http://www.codeproject.com/KB/WPF/GridLengthAnimation.aspx, высота 3-го ряда устанавливается равной 0,4 * при нажатии кнопки.
Проблема в том, что, когда у меня есть больше элементов в списке, вторая строка расширяется, а 3-я строка исчезает. Решение может быть, если я установлю MaxHeight
второй строки на 100% высота-170, но не знаю доступную высоту для UserControl
.
Есть идеи?