2015-05-04 53 views
0

我为网格编写了一个wpf代码,它有5-6列,第一列是名称。我想冻结这一列,这意味着它不应该是可移动的。 我试着这样做如何防止在wpf中对列进行重新排序

<DataGridTemplateColumn Header="Name" Width="Auto" SortMemberPath="Name" CanUserReorder="False"> 

但这段代码的问题是,我不能动我的名字列更换另一列,但我可以在它的位置拖动任何其他列。例如..我可以拖动我的shortName列代替名称列。

我希望名称列不应该移动,但其他列可以移动。谁能帮我这个?

回答

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> 
相关问题