2014-08-28 4 views
0

Документация может похвастаться этим «замечательным» примером стиля заголовков групп.Xceed Datagrid set GroupHeaderControl Шаблон для одного GroupHeader, а не всех GroupHeaders

<Style TargetType="{x:Type xcdg:GroupHeaderControl}"> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type xcdg:GroupHeaderControl}"> 
     <Border Background="Orange" BorderThickness="2"> 
      <StackPanel Orientation="Horizontal"> 
      <CheckBox IsChecked="{Binding RelativeSource={RelativeSource 
            TemplatedParent}, Path=Group.IsExpanded}"/> 
      <ContentPresenter/> 
      </StackPanel> 
     </Border> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

Проблема заключается в том, что это применимо к шаблону глобально ко всем сеткам и всем группам.

Что я действительно хотел бы узнать, как указать шаблон для использования в GroupHeaderControl только для group?

Что-то вроде: (Не работает)

<xcdg:Column Title="Station" FieldName="Station">       
    <xcdg:Column.GroupConfiguration> 
     <xcdg:GroupConfiguration UseDefaultHeadersFooters="False" >         
      <xcdg:GroupConfiguration.Headers> 
       <xcdg:GroupHeaderControl Template="{StaticResource customtableViewGroupHeaderControlTemplate}" /> 
       <xcdg:GroupHeaderFooterItemTemplate VisibleWhenCollapsed="True" /> 
      </xcdg:GroupConfiguration.Headers> 
     </xcdg:GroupConfiguration> 
    </xcdg:Column.GroupConfiguration> 
</xcdg:Column> 

Кто-нибудь знает, как решить эту проблему?

ответ

0

Я нашел ответ почти случайно. Для того, чтобы установить этот шаблон индивидуально вы должны сделать следующее:

В ваших ресурсах добавьте следующее:

<DataTemplate x:Key="GroupByTest"> 
     <xcdg:GroupHeaderControl Template="{StaticResource MyGroupHeaderControlTemplate}" /> 
</DataTemplate> 

Делая это позволит вам установить отдельные группы заголовки шаблон , Однако делать это, похоже, создает целый ряд других небольших проблем, которые необходимо решить.