我为网格编写了一个wpf代码,它有5-6列,第一列是名称。我想冻结这个列,这意味着它不应该是可移动的。 我试过这个
<DataGridTemplateColumn Header="Name" Width="Auto" SortMemberPath="Name" CanUserReorder="False">
但是这段代码的问题是,我无法移动我的名称列来替换另一列,但我可以将其他列拖到其位置。例如..我可以拖动我的shortName列代替name列。
我希望名称列不应该移动,但其他列可以移动。任何人都可以帮我这个吗?
答案 0 :(得分:0)
来自MSDN:
冻结列始终是显示顺序中最左侧的列。您不能将冻结的列拖到未冻结的列组中,也不能将未冻结的列拖到冻结列组中。
所以设置FrozenColumnCount ="1"
应该可以解决问题
<DataGrid FrozenColumnCount="1" CanUserReorderColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Name"/>
<DataGridTextColumn Header="#1"/>
<DataGridTextColumn Header="#2"/>
<DataGridTextColumn Header="#3"/>
</DataGrid.Columns>
</DataGrid>