WPF Datagrid的问题 [英] Problem with the WPF Datagrid

查看:55
本文介绍了WPF Datagrid的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我的WPF数据网格存在一个小问题.问题在于数据网格,这是第一次在数据网格中加载数据时,在加载整个数据之后,它在数据网格中显示了一个很小的间隙.

然后,我单击标题数据网格的大小和数据网格的大小自行调整,差距消失了.我写的代码如下:

Hi

There is a small issue with my WPF datagrid. The problem is with the datagrid is that first time when the datagrid loaded with the data, after loading the entire data then it displays a small gap in the datagrid.

And once i click on the header of the datagrid and the datagrid resize itself and the gap disappears. The code which i have written is below:

<Border Grid.Row="4" 
                            Grid.Column="0" 
                            Grid.ColumnSpan="4" 
                            BorderThickness="1"
						    BorderBrush="Black" 
                            Background="GhostWhite">
                    <Toolkit:DataGrid Grid.Row="4" 
                                      Grid.Column="0" 
                                      Grid.ColumnSpan="4" 
                                      MaxWidth="680" 
								      x:Name="gridLineItems" 
                                      AreRowDetailsFrozen="True"  
                                      HeadersVisibility="Column" 
                                      IsReadOnly="True"
								      CanUserReorderColumns="False"  
                                      CanUserResizeColumns="False" 
                                      CanUserAddRows="False"
								      VerticalAlignment="Center" 
                                      Margin="0,10,0,10" 
                                      CanUserResizeRows="False" 
                                      Focusable="True"
                                      Background="GhostWhite">
                        <Toolkit:DataGrid.Resources>
                            <Style TargetType="{x:Type Toolkit:DataGridRow}">
                                <Setter Property="Height" Value="Auto" />
                                <Setter Property="VerticalContentAlignment" Value="Center" />
                                <Setter Property="Background" Value="GhostWhite"/>
                            </Style>

                            <DataTemplate x:Key="testbutton">
                                <StackPanel Orientation="Vertical">
                                    <Button Content="Status"
										Click="event1_occur" CommandParameter="{Binding LineItemId}"/>
                                </StackPanel>
                            </DataTemplate>

                        </Toolkit:DataGrid.Resources>
                        <Toolkit:DataGrid.Columns>
                            <Toolkit:DataGridTextColumn Header="Line Item" 
                                                        Width="0.5*" 
                                                        Binding="{Binding LineItemId}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}" 
                                                        SortMemberPath="Line Item"/>
                            <Toolkit:DataGridTextColumn Header="No. Of Packages" 
                                                        Width="*" 
                                                        Binding="{Binding Quantity}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}"/>
                            <Toolkit:DataGridTextColumn Header="Qty in Packages" 
                                                        Width="*" 
                                                        Binding="{Binding Package}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}"/>
                            <Toolkit:DataGridTextColumn Header="Strength" 
                                                        Width="*" 
                                                        Binding="{Binding OriginalStrength}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}" />
                            <Toolkit:DataGridTextColumn Header="Unit Code" 
                                                        Width="0.5*" 
                                                        Binding="{Binding OriginalUoM}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}" />

                            <Toolkit:DataGridTemplateColumn Header="Description" Width="2*" HeaderTemplate="{StaticResource TextWrapTemplate}">
                                <Toolkit:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding TradeName}" TextWrapping="Wrap" />
                                    </DataTemplate>
                                </Toolkit:DataGridTemplateColumn.CellTemplate>
                            </Toolkit:DataGridTemplateColumn>

                            <Toolkit:DataGridTemplateColumn Header="National Drug Code" 
                                                            Width="1.2*" 
                                                            HeaderTemplate="{StaticResource TextWrapTemplate}">
                                <Toolkit:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock Text="{Binding NDCLabel}" />
                                            <TextBlock Text="-" />
                                            <TextBlock Text="{Binding NDCProduct}" />
                                            <TextBlock Text="-" />
                                            <TextBlock Text="{Binding NDCPackage}" />
                                        </StackPanel>
                                    </DataTemplate>
                                </Toolkit:DataGridTemplateColumn.CellTemplate>
                            </Toolkit:DataGridTemplateColumn>
                            <Toolkit:DataGridTextColumn Header="Packages Shipped" 
                                                        Width="*" 
                                                        Binding="{Binding PackageShipped}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}"/>
                            <Toolkit:DataGridTextColumn Header="Date Shipped" 
                                                        Width="*" 
                                                        Binding="{x:Null}" 
                                                        HeaderTemplate="{StaticResource TextWrapTemplate}"/>
                            <Toolkit:DataGridTemplateColumn Header="Notes" 
                                                            Width="0.5*" 
                                                            HeaderTemplate="{StaticResource TextWrapTemplate}">
                                <Toolkit:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Notes}" TextWrapping="Wrap" />
                                    </DataTemplate>
                                </Toolkit:DataGridTemplateColumn.CellTemplate>
                            </Toolkit:DataGridTemplateColumn>
                        </Toolkit:DataGrid.Columns>
                    </Toolkit:DataGrid>
                </Border>



将在弹出窗口中打开Datagrid.

请让我知道我在哪里做错了.

谢谢在Advance
SAM




The Datagrid is opend in a popup window.

Please do let me know where I am doing wrong. 

Thanks in Advance
SAM


推荐答案

中删除网格的宽度和垂直对齐以在行定义集中进行扩展widh *或自动将 解决您的问题.
Remove the width for the grid and the VerticalAlignment to streach in th e row definition set the widh to * or Auto it will resolve your problem.


这篇关于WPF Datagrid的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆