datagrid autogeneratecolums false显示空列

时间:2017-01-04 17:29:27

标签: c# wpf datagrid

<DataGrid x:Name="gridAnagrafiche" EnableRowVirtualization="False" CanUserAddRows="False" Margin="10" DockPanel.Dock="Top" ItemsSource="{Binding listAnagrafiche, ElementName=window, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False">
                <DataGrid.ItemContainerStyle>
                    <Style TargetType="DataGridRow">
                        <EventSetter Event="MouseDoubleClick" Handler="rowAnagrafiche_DoubleClick"/>
                    </Style>
                </DataGrid.ItemContainerStyle>
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Codice" Binding="{Binding cod}" />
                    <DataGridTextColumn Header="Gruppo" Binding="{Binding gruppo}" />
                    <DataGridTextColumn Header="Ragione Sociale" Binding="{Binding nome}" />
                    <DataGridTextColumn Header="Indirizzo" Binding="{Binding indirizzo}" />
                    <DataGridTextColumn Header="Cap" Binding="{Binding cap}" />
                    <DataGridTextColumn Header="Città" Binding="{Binding citta}" />
                    <DataGridTextColumn Header="Telefono" Binding="{Binding telefono}" />
                    <DataGridTextColumn Header="Cellulare" Binding="{Binding cellulare}" />
                    <DataGridTextColumn Header="Email" Binding="{Binding email}" />
                    <DataGridTextColumn Header="Codice Fiscale" Binding="{Binding codiceFiscale}" />
                    <DataGridTextColumn Header="Partita IVA" Binding="{Binding partitaIva}" />
                    <DataGridTextColumn Header="IBAN" Binding="{Binding iban}" />
                    <DataGridTextColumn Header="BIC" Binding="{Binding bic}"/>
                </DataGrid.Columns>
            </DataGrid>

我会删除空列,并且不使用width =“*”

调整最后一个列大小

我也尝试使用EnableRowVirtualization =“False”但不起作用

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,您可以将DataGrid的Horizo​​ntalAlignment属性设置为Left,以防止它拉伸到适合可用宽度:

<DataGrid x:Name="gridAnagrafiche" EnableRowVirtualization="False" CanUserAddRows="False" Margin="10" DockPanel.Dock="Top" 
                  ItemsSource="{Binding listAnagrafiche, ElementName=window, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                  AutoGenerateColumns="False" HorizontalAlignment="Left">
...

这应该有效地使最后一个空列消失。