У меня есть следующий XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="11" />
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<ListView ... Grid.Column="2"/>
<controls:GridSplitter
Grid.Column="1"
Width="11"
ResizeBehavior="BasedOnAlignment"
ResizeDirection="Auto"
Background="Gray"
Foreground="White"
FontSize="13">
<controls:GridSplitter.Element>
<Grid>
<TextBlock HorizontalAlignment="Center"
IsHitTestVisible="False"
VerticalAlignment="Center"
Text=""
Foreground="Black"
FontFamily="Segoe MDL2 Assets">
</TextBlock>
</Grid>
</controls:GridSplitter.Element>
</controls:GridSplitter>
<Canvas Canvas.ZIndex="1">
<ContentControl MaxWidth="750" Content="{Binding CAV, Mode=TwoWay}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</Canvas>
</Grid>
Без Canvas, обернутого вокруг ContentControl в первом столбце, дочерние элементы ContentControl должным образом остаются в пределах элемента управления содержимым, и я могу сделать его шире, чтобы видеть больше дочерних элементов по горизонтали.
Когда я добавляю Canvas и устанавливаю ZIndex, дочерние элементы элемента управления содержимым распространяются на разделитель сетки и ListView без учета ширины элемента управления содержимым.
Эффект, который я пытаюсь получить, позволяет расширить ширину элемента управления содержимым с помощью разделителя сетки и заставить этот элемент управления содержимым расширяться «поверх» представления списка (вместо уменьшения ширины представления списка).
Что мне не хватает? Я не понимаю, почему ширина элемента управления контентом внезапно не соблюдается только потому, что я помещаю его в Canvas. Или мне не следует использовать Canvas для получения желаемого эффекта «наложения»?