2010-08-02 55 views
2

我正在使用一個應該改變分組字段的combox的datagrid。我用下面的XAML定義一般分組模板:WPF Datagrid組擴展文本 - 如何綁定?

<DataGrid.GroupStyle> 
     <GroupStyle> 
      <GroupStyle.ContainerStyle> 
       <Style TargetType="{x:Type GroupItem}"> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate TargetType="{x:Type GroupItem}"> 
           <Expander> 
            <Expander.Header> 
             <StackPanel Orientation="Horizontal"> 
              <TextBlock Text="NEEDS TO BE BINDED..."/> 
             </StackPanel> 
            </Expander.Header> 
            <ItemsPresenter /> 
           </Expander> 
          </ControlTemplate> 
         </Setter.Value> 
        </Setter> 
       </Style> 
      </GroupStyle.ContainerStyle> 
     </GroupStyle> 
    </DataGrid.GroupStyle> 

我只需要能夠擴展內「到達」是TextBlock中能夠選擇的分組應用的輸出。

請幫助....

回答

0

我通過添加一個嵌套的類來解決我的問題,該類包含當前選擇的分組(我手動設置的課程)+更多我需要的細節。 Ofcourse

<TextBlock Text="{Binding Source={StaticResource GroupingSubject},Path=Name}"/>

,我不得不在XAML資源範圍內聲明的類,如下所示:然後通過使用綁定到類屬性

<local:GroupingName x:Key="GroupingName"/>

我的嵌套類如下所示:

public class GroupingSubject 
{ 
    private static String name = null; 
    private static Object groupType = null; 

    public GroupingSubject() { } 
    public static String Name 
    { 
     get { return name; } 
     set { name = value; } 
    } 

    public static Object GroupType 
    { 
     get { return groupType; } 
     set { groupType = value; } 

    } 

} 

現在一切都很好...

3

如果你想顯示由被分組屬性的共同價值觀,這將作爲CollectionViewGroup.Name,所以你可以這樣做:

<TextBlock Text="{Binding Name}"/> 
+0

謝謝。我終於使用了不同的方法,因爲我需要手動獲取更多信息。我發佈了我的解決方案。 – OrPaz 2010-08-03 09:27:25

+0

我確認這是有效的,並且是正確的方法。 – Benlitz 2011-10-11 15:26:20