从组头样式中绑定到项目

时间:2016-01-07 05:40:44

标签: c# wpf

.xaml文件

  <Window.Resources>
            <Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type GroupItem}">
                            <StackPanel>
                                <TextBlock Text="xxxxx=" Background="Yellow"></TextBlock>
                                <TextBlock Text="{Binding mac_type}" Background="Yellow"></TextBlock>
                                <ItemsPresenter></ItemsPresenter>
                            </StackPanel>

                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Window.Resources>
        <Grid>
            <DataGrid x:Name="DataGrid"  IsReadOnly="True"  ScrollViewer.CanContentScroll="True"  Margin="19,71,1,104" GridLinesVisibility="All">
                <DataGrid.GroupStyle>
                    <GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}" >
                        <GroupStyle.Panel>
                            <ItemsPanelTemplate>
                                <DataGridRowsPresenter></DataGridRowsPresenter>
                            </ItemsPanelTemplate>
                        </GroupStyle.Panel>
                    </GroupStyle>
                </DataGrid.GroupStyle>
                    <DataGrid.Columns>

                </DataGrid.Columns>
            </DataGrid>

        </Grid>

.cs文件

ListCollectionView Customers = new ListCollectionView(dt.DefaultView);
            Customers.GroupDescriptions.Add(new PropertyGroupDescription("mac_type"));
            DataGrid.ItemsSource = Customers;

这是我的简短代码。其中我将datagrid与data绑定。但我的问题是在y group header(mac_type)中没有显示任何值。我不知道为什么它不绑定mac_type,休息一切正常。可以请任何人帮我解决。谢谢你。

1 个答案:

答案 0 :(得分:0)

我认为您应该绑定到Name而不是此示例中定义的mac_type

<TextBlock Text="{Binding Name}" Background="Yellow">

链接:http://cromwellhaus.com/2010/03/grouping-is-crazy-easy-in-wpf/