Xamarin.Mac 使用 NSSavePanel 时显示默认文件名

Xamarin.Mac show default filename when using NSSavePanel

在 Xamarin.Forms 应用程序中,我希望在 Xamarin.Mac 项目中实现文件另存为操作。在显示 NSSavePanel 时,我希望默认显示当前文件名。

我看到提到了 setNameFieldStringValue here and here,但是 Xamarin 中似乎没有公开等效的方法。

可以这样做吗?

这是我正在使用的代码。

public string GetSaveAsFilePathOrNull(string defaultFileName)
{
    var dlg = NSSavePanel.SavePanel;
    dlg.SetNameFieldStringValue(defaultFileName); // Compiler error, no such method

    if (dlg.RunModal() == 1)
    {
        var url = dlg.Url;

        if (url != null)
        {
            var path = url.Path;
            return path;
        }
    }

    return null;
}

ObjC 函数 NSSavePanel.SetNameFieldStringValue 的 Xamarin.Mac C# 规范化是 read/write 属性 (NSSavePanel.NameFieldStringValue).

var dlg = NSSavePanel.SavePanel;
dlg.NameFieldStringValue = defaultFileName;