コード例 #1
0
        public async Task ContainerViewAddedToLayout()
        {
            var layout         = new LayoutStub();
            var addedSlider    = new ButtonWithContainerStub();
            var insertedSlider = new ButtonWithContainerStub();

            layout.Add(addedSlider);

            var handler = await CreateHandlerAsync(layout);

            var children = await InvokeOnMainThreadAsync(() =>
            {
                return(GetNativeChildren(handler));
            });

            Assert.Equal(1, children.Count);
            Assert.Same(addedSlider.Handler.ContainerView, children[0]);

            children = await InvokeOnMainThreadAsync(() =>
            {
                layout.Insert(0, insertedSlider);
                handler.Insert(0, insertedSlider);
                return(GetNativeChildren(handler));
            });

            Assert.Equal(2, children.Count);
            Assert.Same(insertedSlider.Handler.ContainerView, children[0]);
            Assert.Same(addedSlider.Handler.ContainerView, children[1]);
        }
コード例 #2
0
        public async Task ContainerViewDifferentThanPlatformView()
        {
            var layout          = new LayoutStub();
            var containedButton = new ButtonWithContainerStub();

            layout.Add(containedButton);
            _ = await CreateHandlerAsync(layout);

            var handler = containedButton.Handler as IPlatformViewHandler;

            Assert.NotEqual(handler.PlatformView, handler.ContainerView);
        }