如何跨NSGridView或NSTableView中的列

时间:2017-10-31 01:42:09

标签: c# macos cocoa xamarin xamarin.mac

我到处寻找并且没有找到很多内置功能来跨越NSGridView或NSTableView的列或行。在这一点上,我想我将不得不重写某些方法或寻找另一个控件。我已经很长时间没有在OSX工作了,而且更糟糕的是我在Xamarin工作的时候还没有那么多。如果你有可可的答案,我可以翻译(或至少尝试)。

那里还有其他能更好地满足我需求的东西吗?我需要一种可以跨行/列的基于视图的网格。有人至少可以指出我的解决方案的总体方向吗?谢谢!

1 个答案:

答案 0 :(得分:2)

AHAH!有一个MergeCells方法完全符合我的要求!为什么没有人知道这个?

enter image description here

使用:

创建
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中很容易实现。也许它会帮助别人走出困境?