2016-09-15 3 views
0

вид новых проектов WPF и xaml действительно запутан.C# XAML grid Expander

У меня есть datagrid, отображающий сгруппированный ListCollectionView, и я хотел бы иметь кнопку щелчка, чтобы сгруппированное представление могло свернуть. Вроде бы простая функция для достижения, но искали везде за прошедший день не существует ни одного примера, чтобы пройти через это (может быть, это слишком просто?)

Вот код для моего XAML

<Window.Resources> 
    <Style x:Key="GroupHeaderStyle" TargetType = "{x:Type GroupItem}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type GroupItem}"> 
        <Expander x:Name="myExpander" IsExpanded="True" 
           Background="LightBlue" 
           Foreground="Black"> 
         <ItemsPresenter /> 
        </Expander> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Window.Resources> 

и в MainWindow.xaml.cs

  ListCollectionView collection = new ListCollectionView(dt.DefaultView); 
     collection.GroupDescriptions.Add(new PropertyGroupDescription("Grouping")); 

     dataGrid1.ItemsSource = collection; 

Пожалуйста, помогите. Спасибо вам большое.

+0

Почему бы вам не поместить свой список прямо в элемент управления расширителя ?? – Versatile

ответ

0

Вы хотите переопределить/установить GroupStyle. Но ваш пример кода выглядит довольно хорошо - так что, возможно, я просто не понимаю, что ваша проблема.

<ItemsControl> 
      <ItemsControl.GroupStyle> 
       <GroupStyle> 
        <GroupStyle.ContainerStyle> 
         <Style TargetType="{x:Type GroupItem}"> 
          <Setter Property="Template"> 
           <Setter.Value> 
            <ControlTemplate TargetType="{x:Type GroupItem}"> 
             <Expander IsExpanded="true" Header="Yolo"> 
              <ItemsPresenter /> 
             </Expander> 
            </ControlTemplate> 
           </Setter.Value> 
          </Setter> 
         </Style> 
        </GroupStyle.ContainerStyle> 
       </GroupStyle> 
      </ItemsControl.GroupStyle> 
     </ItemsControl> 

Pls добавляет дополнительную информацию, если это не то, что вы ищете!