Рассматривали ли вы просто использовать TabControl
?
Например, вы можете добавить две вкладки и стилизовать их. Вот код для оформления вкладок:
<Style TargetType="{x:Type TabPanel}">
<!--Whatever you need for tab position (here center) -->
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
и
<ControlTemplate x:Key="TabItemTemplate" TargetType="{x:Type TabItem}">
<!-- Place whatever control you want for design (grid, dockpanel... -->
<!-- And then the triggers you'd need for, here, color if selected or not, as an example -->
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="Blue" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="WhiteSmoke" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Это естественный способ думать об этом.
Вы можете расширить этот код, например, добавить триггер, изменяющий выбранную вкладку, когда нажимаете на единственную видимую вкладку.
В любом случае, описываемое вами поведение больше подходит для TabControl
, чем Expander