0
我正在构建一个WPF应用程序,我希望我的DataGrid能够隐藏与Excel非常类似的列。我有一个右键菜单,弹出'hide column'作为选项。这里是如何工作的:如何将WPF DataGrid标题视为选定单元格?
if (dgfinal_Copy.CurrentCell.Column == null)
{
}
else
{
int columnIndex = dgfinal_Copy.CurrentCell.Column.DisplayIndex;
dgfinal_Copy.Columns[columnIndex].Visibility = Visibility.Collapsed;
}
我不得不添加if语句,因为如果有人点击网格之前单击了头,那么当前单元格是空。另外,如果我单击列[2]中的一个单元格,但然后单击[0]的标题,然后单击我的菜单中的'隐藏列',正如您可能已经猜到的那样,[2]隐藏而不是[0]。
我想改变这个使用标题的列索引(如果这是光标所在的位置),如果不是,那么当前单元格的列索引。
我补充说我使用的是看我俯瞰东西容易完整方法:
private void WorkItemsGrid_Hide(object sender, RoutedEventArgs e)
{
if (dgfinal_Copy.CurrentCell.Column == null)
{
}
else
{
int colIn = dgfinal_Copy.SelectedCells[0].Column.DisplayIndex;
System.Windows.MessageBox.Show(colIn.ToString());
int columnIndex = dgfinal_Copy.CurrentCell.Column.DisplayIndex;
dgfinal_Copy.Columns[columnIndex].Visibility = Visibility.Collapsed;
}
}
<MenuItem Header="Unhide All Columns" Click="WorkItemsGrid_UnHide" />
不起作用。问题是没有选择单元格。只有标题被选中。我需要那个时候选择的那个头的列索引。 – user3486773
@ user3486773查看我编辑的答案 – Hank
@ user3486773它对ya有效吗? – Hank