Xamarin.Mac打印功能只是打印屏幕,不是整个table

Xamarin.Mac print function is only printing the screen, not the whole table

我正在使用 Xamarin.Mac 使用 C# 开发 MacOS 应用程序。我想打印(在打印机中)一个 table,我正在使用 print() 函数来执行此操作。但是,当我使用此功能时,它只会打印屏幕上显示的内容。

显然,这是因为打印函数只打印出现在屏幕上的 NSView 部分。

我已经使用 Swift 语言找到了解决此问题的一些方法,但我不确定如何将代码转换为 C#。

在我的代码中,SubviewCompanyController 是我的 class,它继承自 AppKit.NSViewController,它还有我的 table。

private NSViewController SubviewController = null;
.
.
.
var controllerCompany = SubviewController as SubviewCompanyController;
controllerCompany.View.Print(this);

这很可能是因为您正在打印父 NSView,它只会打印屏幕上可见的内容。你可以直接在 NSTableView 上调用 print:

private void Print(NSObject sender)
{
    this.tableView.Print(sender); // Where this.tableView in an NSTableView
}

虽然最终结果很简单。