【发布时间】:2012-07-04 02:00:51
【问题描述】:
我想在数据网格的组标题中看到每列的一些附加信息。标头由一个 Stackpanel 组成,其中包含一些子 Stackpanel。 由于用户可以调整数据网格列的大小,因此我必须调整单个标题部分的大小,将它们的宽度绑定到相应列的宽度:
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="False">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<StackPanel
Orientation="Horizontal"
Width="{Binding Source={x:Reference TextCol01}, Path=ActualWidth}" >
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text=" ("/>
<TextBlock Text="{Binding Path=ItemCount}" FontSize="13" FontWeight="Bold"/>
<TextBlock Text=")"/>
</StackPanel>
<StackPanel
Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text=" ("/>
<TextBlock Text="{Binding Path=ItemCount}" FontSize="13" FontWeight="Bold"/>
<TextBlock Text=")"/>
</StackPanel>
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
如果不绑定 Width (Width="{Binding Source={x:Reference TextCol01}, Path=ActualWidth}"),则绑定到 CollectionViewGroup 的 Name 和 ItemCount 效果很好。但是绑定宽度失败了。
我想这与绑定源有关。这会改变上下文。但我不知道它到底有什么问题。
有人可以帮忙吗?谢谢!
【问题讨论】:
-
听起来很奇怪,我唯一能想到的是,由于某种原因,TextCol01 没有加载,并且其他绑定不知何故没有被轮询。
-
@jimmyjambles 在加载完所有内容后,我正在调用该方法对数据集进行分组。所以我认为这不是问题。
标签: wpf datagrid groupstyle