1

我想在数据网格的组标题中看到每列的一些附加信息。标头由一个 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 效果很好。但是绑定宽度它失败了。

我想这与绑定源有关。这会改变上下文。但我不知道它到底有什么问题。

有人可以帮忙吗?谢谢!

4

1 回答 1

1

我想到了。这种绑定宽度的方法效果很好:

Width="{Binding ElementName=TextCol01, Path=ActualWidth}"

这不起作用:

Width="{Binding Source={x:Reference TextCol01}, Path=ActualWidth}"

它独立工作,但与 ItemCount 和 Name 的绑定一起会导致失败。

于 2012-07-04T11:20:59.203 回答