У меня есть следующий сценарий в XAML:
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid x:Name="gridLabels" Grid.Column="0">
<Grid.RowDefinitions>
<Row SharedSizeGroup="FirstRow" MinHeight=24/>
<Row SharedSizeGroup="SecondRow" MinHeight=24/>
<Row SharedSizeGroup="ThirdRow" MinHeight24/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0">Top Item:</TextBlock>
<TextBlock Grid.Row="1">Middle Item:</TextBlock>
<TextBlock Grid.Row="2">Bottom Item:</TextBlock>
</Grid>
<ScrollViewer x:Name="scrVwItems" Grid.Column="1" VerticalScrollBarVisibility="Disabled"
HorizontalScrollBarVisibility="Visible" >
<ItemsControl ItemSource="{Binding Bondage}">
<!--etc-->
</ItemsControl>
</ScrollViewer>
</Grid>
Внутри ItemsControl элементы DataTemplate
d имеют свои собственные сетки с набором SharedSizeGroup, так что TextBlock
s и т.д. совпадают с метками TextBlockдалеко слева.
Проблема, которую я получаю, состоит в том, что до заполнения ItemsControl SharedSizeGroup
s не выстраиваются в линию, а текст "Bottom Item:" падает вниз по горизонтали с полосой прокрутки моего ScrollViewer.
Есть ли простой способ выровнять сетку "gridLabels" по области содержимого ScrollViewer, а не по всему самому ScrollViewer?