如何冻结WPF DataGrid的第一列

33

我有一个WPF数据网格(DataGrid)。

我想在水平滚动时冻结该WPF数据网格的第一列。

我的代码是:

<DataGrid Name="dgQuestionTemplate" HorizontalAlignment="Left" Grid.Row="1" Width="870" HorizontalScrollBarVisibility="Auto" IsReadOnly="False">

            <DataGrid.Columns>                    
                <DataGridTextColumn Binding="{Binding ExamDate}" Header="Date" IsReadOnly="True" Width="90" />
                <DataGridTextColumn Binding="{Binding ExamName}" Header="Test Name" IsReadOnly="True" Width="195" />
                <DataGridTextColumn Binding="{Binding Batch}" Header="Batch" IsReadOnly="True" Width="100" />
                <DataGridTextColumn Binding="{Binding ExamTime}" Header="    Count Down  [Days: hr: min: sec]"  IsReadOnly="True" Width="*" />
            </DataGrid.Columns>

</DataGrid>
1个回答

55

将DataGrid的 FrozenColumnCount="1" 设置为1。

<DataGrid FrozenColumnCount="1" Name="dgQuestionTemplate" HorizontalAlignment="Left" Grid.Row="1" Width="870" HorizontalScrollBarVisibility="Auto" IsReadOnly="False">
冻结列是始终显示且无法滚出视野的列。冻结列始终位于显示顺序的最左侧列。您不能将冻结列拖动到未冻结列组中,也不能将未冻结列拖动到冻结列组中。 DataGrid.FrozenColumnCount

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接