C# WPF Статический элемент и выпадающий список

Я пытаюсь сделать что-то простое в WPF, но не могу найти способ сделать это.

У меня есть ComboBox в заголовке DataGrid для фильтрации данных. Данные связаны с оператором GrouBy всех моих данных.

Они показывают некоторые CheckBox Код XAML:

<DataGridTextColumn x:Name="Type"
                    Binding="{Binding TypeOfData, Mode=OneTime}"
                    SortMemberPath="TypeOfData"
                    IsReadOnly="true"
                    CanUserSort="true">
    <DataGridTextColumn.Header>
        <DockPanel>
            <Label Content="Type Of Data"
                   DockPanel.Dock="Left"/>  
            <ComboBox x:Name="comboBoxType"
                      DockPanel.Dock="Right" 
                      SelectionChanged="comboBoxType_SelectionChanged">                         
                <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel x:Name="itemsComboBox">
                           <CheckBox Name="checkBoxType"
                                     IsChecked="False"
                                     Content="{Binding Key}"
                                     Unchecked="FilterChange" 
                                     Checked="FilterChange"/>
                        </StackPanel>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
            </ComboBox>
        </DockPanel>
    </DataGridTextColumn.Header>
</DataGridTextColumn>

Код для обязательной привязки:

comboBoxType.ItemsSource = allData.GroupBy(data=> data.TypeOfData).OrderBy(grp=> grp.Key);

И это работа.

Но теперь я хочу добавить 2 кнопки, чтобы проверить и снять все галочки в конце или в начале ComboBox, но я не могу найти, как добавить эти статические кнопки в динамический шаблон данных.

Изменить ответ на grek40: Мне нужны кнопки в выпадающих списках до или после флажков.

CompositeCollection может помочь, но я не могу заставить ее работать.

Благодарю вас

1 ответ

Заменить DockPanel с Grid это имеет несколько ColumnDefinitions:

<DataGridTextColumn x:Name="Type" Binding="{Binding TypeOfData, Mode=OneTime}" SortMemberPath="TypeOfData" IsReadOnly="true" CanUserSort="true">
    <DataGridTextColumn.Header>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Label Content="Type Of Data"  />
            <ComboBox x:Name="comboBoxType"
                      Grid.Column="1"
                      SelectionChanged="comboBoxType_SelectionChanged">
                <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel x:Name="itemsComboBox">
                            <CheckBox Name="checkBoxType"
                                      IsChecked="False"
                                      Content="{Binding Key}"
                                      Unchecked="FilterChange" 
                                      Checked="FilterChange"/>
                        </StackPanel>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
            </ComboBox>
            <Button Content="Check"
                    Grid.Column="2" />
        </Grid>
    </DataGridTextColumn.Header>
</DataGridTextColumn>
Другие вопросы по тегам