簡體   English   中英

C#WPF靜態項目和綁定組合框

[英]C# WPF Static item and binding combobox

我正在嘗試在WPF中做一些簡單的事情,但是找不到解決方法。

我在DataGrid標頭中有一個ComboBox來過濾數據。 數據綁定到我所有數據的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);

而這項工作。

但是現在我想在ComboBox的末尾或開始處添加2個按鈕以選中和取消選中所有按鈕,但是我似乎找不到如何在動態數據模板中添加這些靜態按鈕的功能。

編輯grek40的答案:我希望組合框項目中的按鈕位於復選框之前或之后。

CompositeCollection可以提供幫助,但我似乎無法使其工作。

謝謝

DockPanel替換為具有多個ColumnDefinitionsGrid

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM