Esempio n. 1
0
        public async void Set(TaskCompletionSource <UIKit.UIView> onLoaded)
        {
            if (Element is Layout && Container != null)
            {
                onLoaded.SetResult(Container);
            }
            else if (Control != null)
            {
                onLoaded.SetResult(Control);
            }
            else
            {
                var asyncEventListener = new AsyncEventListener(() =>
                {
                    /*
                     * Console.WriteLine("Loaded event " + LoadedControl + " and  " + Control);
                     * Console.WriteLine("taskcomsource: " + onLoaded);
                     */
                    onLoaded.SetResult(LoadedControl);

                    // Console.WriteLine("after set taskcomsource: " + onLoaded);
                });
                Loaded += asyncEventListener.Listen;

                await asyncEventListener.Successfully;

                Loaded -= asyncEventListener.Listen;
            }
        }
        public async void Set(TaskCompletionSource <Android.Views.View> onLoaded)
        {
            if (Element is Layout && Container != null)
            {
                // Console.WriteLine(Element + " is layout. returning " + Container);
                onLoaded.SetResult(Container);
            }
            else if (Control != null)
            {
                // Console.WriteLine("Assuming " + Element + " is Control returning: " + Control);
                onLoaded.SetResult(Control);
            }
            else
            {
                var asyncEventListener = new AsyncEventListener(() =>
                {
                    onLoaded.SetResult(LoadedControl);
                });
                Loaded += asyncEventListener.Listen;

                await asyncEventListener.Successfully;

                Loaded -= asyncEventListener.Listen;
            }
        }