2012-07-03 73 views
1

我想在數據網格的組頭中看到每列有一些附加信息。標題包含一個Stackpanel,其中包含一些子StackPanel。 由於這樣的事實,用戶可以調整我不得不每它們的寬度結合到相應的列的寬度調節單頭部件的尺寸數據網格的列的大小:datagrid組頭中的綁定

<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 =「{Binding Source = {x:Reference TextCol01},Path = ActualWidth}」),則CollectionViewGroup的名稱和ItemCount的綁定完美。但綁定寬度失敗。

我想這是關於綁定源。這改變了上下文左右。但我不知道它究竟有什麼問題。

任何人都可以幫忙嗎?謝謝!

+0

聽起來很奇怪,我能想到的唯一情況是由於某種原因,TextCol01不在加載狀態,其他綁定以某種方式不會被輪詢。 – jimmyjambles

+0

@jimmyjambles我打電話的方法來分組數據集之後加載一切。所以我認爲這不是問題。 – manton

回答

1

我想通了。這對寬度結合的方式運作良好:

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

這不起作用:

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

它的工作原理,但獨立連同ItemCount中的綁定,並把它命名爲導致失敗。