internal static async Task <int> ShowAsync(List <MaterialMenuItem> choices, MaterialMenuDimension dimension, MaterialMenuConfiguration configuration)
        {
            var dialog = new MaterialMenuDialog(choices, dimension, configuration);

            await dialog.ShowAsync();

            return(await dialog.InputTaskCompletionSource.Task);
        }
        internal MaterialMenuDialog(List <MaterialMenuItem> choices, MaterialMenuDimension dimension, MaterialMenuConfiguration configuration)
        {
            _dimension = dimension;
            _choices   = choices;
            this.InitializeComponent();
            this.CreateActions(configuration);
            this.InputTaskCompletionSource = new TaskCompletionSource <int>();

            Container.CornerRadius    = configuration.CornerRadius;
            Container.BackgroundColor = configuration.BackgroundColor;
        }