如果未在WPF中使用DataGrid,则DataGrid列不会调整大小

时间:2017-12-14 09:13:41

标签: c# wpf datagrid

这里我作为独立的分辨率执行应用程序。根据我的理解,如果我们想要独立于分辨率,我们不应该为控件定义高度和宽度。当我没有定义DataGrid的宽度时,在运行应用程序时列不可读,你可以从下面的图中看到它......

enter image description here

DataGrid列没有调整大小。

当我给DataGrid提供宽度时,它工作正常。但问题是,如果我们在不同的分辨率下运行相同的应用程序,DataGrid就不会调整大小。

<Grid>
    <Grid.ColumnDefinitions >
                <ColumnDefinition Width="1*"/>
                <ColumnDefinition Width="150"/>
            </Grid.ColumnDefinitions>

    <DataGrid Grid.Column="0" AutoGenerateColumns="False" IsReadOnly="False" DataContext="{Binding CollectionDetails}" ItemsSource="{Binding}"  RowHeaderWidth="0" ColumnWidth="*" CanUserAddRows="False" MinWidth="800"  Margin="15" >
          <DataGrid.Columns>
                    <DataGridTextColumn IsReadOnly="True" Binding="{Binding S_NO}" Header="SOURCE__ID" MinWidth="200" />
                    <DataGridTextColumn IsReadOnly="True" Binding="{Binding DOB}" Header="MISSION__ID" MinWidth="200" />
                    <DataGridTextColumn IsReadOnly="True" Binding="{Binding DOJ}" Header="MISSION__NAME" MinWidth="200" />
                    <DataGridTextColumn IsReadOnly="True" Binding="{Binding EMP_ID}" Header="START__TIME" MinWidth="300" />
                    <DataGridTextColumn IsReadOnly="True" Binding="{Binding NAME}" Header="STATUS" MinWidth="150" />
                </DataGrid.Columns>
                <DataGrid.ColumnHeaderStyle>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="FontWeight" Value="DemiBold"/>
                </Style>
            </DataGrid.ColumnHeaderStyle>
    </DataGrid>

    <Button Grid.Column="1" Content="Consolidate"  Margin="10" VerticalAlignment="Center" IsEnabled="False" FontSize="15" Width="90"  Height="26" FontWeight="DemiBold"/>

</Grid>

任何人都可以给我一些如何解决问题的提示。 我正在研究VS15

提前致谢...

修改

解决方案:我将我的userControl放在ScrollViewer中。因此,通过设置ScrollViewer.HorizontalScrollBarVisibility= "Disabled"可以正常工作。感谢....

0 个答案:

没有答案