如何用其他更改覆盖WindowDidLoad

时间:2018-10-24 11:27:09

标签: macos cocoa xamarin xamarin.mac

我有一个重写ReactiveWindowController的类。

我需要获取基类中Observer的引用。但是因为它不存在。我决定将其覆盖。

/// <inheritdoc/>
    public override void WindowDidLoad()
    {
        base.WindowDidLoad();

        // subscribe to listen to window closing
        // notification to support (de)activation
        NSNotificationCenter
            .DefaultCenter
            .AddObserver(NSWindow.WillCloseNotification, _ => _deactivated.OnNext(Unit.Default), Window);

        _activated.OnNext(Unit.Default);
    }

我该如何覆盖和更改NSNotificationCenter....代码。这样我就可以根据需要取消注册。

如果还有其他方法可以解决,请告诉我。

PS:我是Xamarin的新手。

1 个答案:

答案 0 :(得分:1)

如果您的类是从ReactiveWindowController派生的,则无法解决此问题。这不是React的正确实现。

您可以创建自己的ReactiveWindowController版本。复制源并更改类名称。