如何跨越 NSGridView 或 NSTableView 中的列

How to span columns in NSGridView or NSTableView

我到处都看过,但没有找到很多用于跨越 NSGridView 或 NSTableView 的列或行的内置功能。在这一点上,我想我将不得不重写一些方法或寻找另一个控件。我在 OSX 工作的时间并不长,更糟糕的是,我在 Xamarin 工作,目前还没有太多东西。如果您在 cocoa 中有答案,我可以翻译(或至少尝试)。

还有其他更适合我需求的东西吗?我需要某种可以跨越 rows/columns 的基于视图的网格。有人至少可以指出解决方案的总体方向吗?谢谢!

啊哈!有一个 MergeCells 方法可以完全满足我的要求!为什么没有人知道这件事??

创建使用:

MergeCellsInColumn(grid, 0, 0, 1);
MergeCellsInRow(grid, 3, 0, 1);

private void MergeCellsInColumn(NSGridView grid, int column, int startingRow, int endingRow)
{
    grid.MergeCells(new NSRange(column, 1), new NSRange(startingRow, endingRow - startingRow + 1));
}

private void MergeCellsInRow(NSGridView grid, int row, int startingColumn, int endingColumn)
{
    grid.MergeCells(new NSRange(startingColumn, endingColumn - startingColumn + 1), new NSRange(row, 1));
}

不确定在其他地方哪里可用,但这在 Xamarin.Mac 中很容易使用。也许它会对其他人有所帮助?