Datagrid - ItemsPresenter - 垂直Scrollviewer

时间:2017-11-09 10:18:06

标签: wpf vb.net xaml datagrid itemspresenter

Hello Stackoverflow成员,

我是新人!对不起快速的短暂问题。但我需要你的帮助! 我有一个2000行的Datagrid。 (在CustomerNbr上分组)

  

vb.net
  Dim分组为New ListCollectionView(full_list)
  grouped.GroupDescriptions.Add(New PropertyGroupDescription(" CustNbr"))
  Datagrid.ItemsSource =分组

此代码工作正常

<DataGrid.GroupStyle>
    <GroupStyle>
        <GroupStyle.HeaderTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding Path=Name}" />
                </StackPanel>
            </DataTemplate>
        </GroupStyle.HeaderTemplate>
        <GroupStyle.ContainerStyle>
            <Style TargetType="{x:Type GroupItem}">
                <Setter Property="Template" >
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type GroupItem}">
                            <Expander MaxHeight="400" FontWeight="Bold" Background="{Binding Path=Items, Converter={StaticResource convert_Backcolor}}" >
                                <Expander.Header>
                                    <StackPanel Orientation="Horizontal" >
                                        <TextBlock Text="{Binding Path=Name}" Margin="10,0,10,0" />
                                        <TextBlock Text="{Binding Path=Items, Converter={StaticResource convert_Cust_Name}}" MinWidth="300" Margin="10,0,10,0" />
                                        <TextBlock Text="{Binding Path=Items, Converter={StaticResource convert_Summe},ConverterCulture=de-DE, StringFormat={}{0:n2}}" HorizontalAlignment="Right" Margin="40,0,0,0" />
                                    </StackPanel>
                            </Expander.Header>
                                <ItemsPresenter />
                        </Expander>
                    </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </GroupStyle.ContainerStyle>
    </GroupStyle>
</DataGrid.GroupStyle>

但是当我在ItemsPresenter上添加一个scrollviewer时,我收到一个错误:

<ScrollViewer>  
    <ItemsPresenter />  
</ScrollViewer>

错误来了,当我制作第二个分组的custnbr screen

错误:invalidOperationExeption未处理

我需要ScrollViewer,因为我在CustNbr上有很多发票。问题在扩展器中。在Expander.Content中,垂直ScrollViewer不支持或者什么......

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

解决方案:在Datagrid Header中不允许使用以下语句:CanUserAddRows =&#34; False&#34; CanUserDeleteRows =&#34;假&#34; IsReadOnly =&#34;真&#34;

另见: https://blogs.msdn.microsoft.com/vinsibal/2008/10/01/overview-of-the-editing-features-in-the-wpf-datagrid/