Как вы меняете видимость? Если вы поместите ваши субконтроли в сетку со следующими RowDefinitions:
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
со списком в первой строке и подробным элементом управления во второй, а затем настройка Visibility = Collapsed
подробного элемента управления автоматически изменяет размер списка.