Если вы размещаете объекты в одной строке и столбце сетки, они будут перекрываться.Оба эти объекта находятся в строке 0 и столбце 0 сетки.
Я не уверен, чего вы пытаетесь достичь.Если вы не хотите, чтобы объекты перекрывались, используйте DockPanel
или StackPanel
, чтобы расположить их, или, если вы собираетесь использовать сетку, поместите их в разные строки, например:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<RichTextBox Grid.Row="0">
<FlowDocument>
<Paragraph>
<Run Text="Now this doesn't overlap."/>
</Paragraph>
</FlowDocument>
</RichTextBox>
<Expander Header="expand" Grid.Row="1">
<Grid>
<Rectangle />
</Grid>
</Expander>
</Grid>