MonoMac アプリを作成していますが、BeginSheet に苦労しています。私はそれに多くの問題を抱えており、それらすべてに共通の問題であることを期待してそれらをリストします.
ログイン ウィンドウをシートとして表示するように BeginSheet を取得できましたが、アプリのメイン インターフェイスをアプリのプロパティで MainMenu ではなく MainWindow に設定すると、BeginSheet は何もしません。シートが閉じた後も、デリゲートは実行されません。Close() を呼び出して、LoginDialogController 内から LoginWindow を閉じます。
これは、MainWindowController で使用するコードです。
public override void WindowDidLoad ()
{
base.WindowDidLoad ();
Dialogs.LoginDialogController loginDialog = new Dialogs.LoginDialogController();
loginDialog.Window.IsVisible = false;
NSApplication.SharedApplication.BeginSheet(loginDialog.Window, Window, delegate {
// THIS NEVER RUNS
mainTabView.SelectAt(1);
mainToolbar.SelectedItemIdentifier = "hometoolbaritem";
});
}
私の他のビューの 1 つで、まったく効果のない次のコードを使用します。
TypeDialogController typeDialog = new TypeDialogController();
typeDialog.Window.IsVisible = false;
// THIS CALL HAS NO EFFECT
NSApplication.SharedApplication.BeginSheet(typeDialog.Window, View.Window, delegate {
// THIS WILL PROBABLY NOT RUN EITHER, EVEN IF THE SHEET SHOWS
});
どんな助けでも大歓迎です。