1

Xamarin.Forms の Android プロジェクトから OnDisappearing() で base.Dispose() を呼び出したいと思います。

私はこのようなことをしました:-

名前空間 Project.Mobile.Droid

{
    [assembly: ExportRenderer(typeof(ItemListPage), typeof(DisposeRenderer))]
    class DisposeRenderer : ViewRenderer
    {
          public DisposeRenderer() { }

    }
}

どうすればこれを進めることができますか?私は Xamarin.Forms を初めて使用するので、誰かが私を助けてくれると助かります。

4

1 に答える 1

0

ItemListPage が IDisposable を実装している限り、次のことを試すことができます:-

using System;
using DisposableControlSample;
using DisposableControlSample.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;

[assembly: ExportRenderer(typeof(DisposablePage), typeof(DisposablePageRenderer))]
namespace DisposableControlSample.Droid
{
    public class DisposablePageRenderer : PageRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
        {
            base.OnElementChanged(e);

            e.NewElement.Disappearing += (sender, args) =>
            {
                var disposablePage = sender as IDisposable;

                if (disposablePage != null)
                {
                    disposablePage.Dispose();
                }
            };
        }
    }
}
于 2015-04-16T13:22:43.463 に答える