【发布时间】:2011-11-22 22:47:08
【问题描述】:
我在 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 中,DataTemplated 项目有自己的网格并设置了 SharedSizeGroup,以便 TextBlocks 等与最左侧的 TextBlock 标签对齐。
我遇到的问题是,在填充 ItemsControl 之前,SharedSizeGroups 不会对齐,并且“底部项目:”文本与 ScrollViewer 的水平滚动条处于同一水平。
有没有一种简单的方法可以将“gridLabels”网格与 ScrollViewer 的内容区域而不是整个 ScrollViewer 本身对齐?
【问题讨论】: