public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var compositeContextMenu = new CompositeContextMenu()
            {
                RegionId = RegionId
            };

            if (CompositionContextBinding != null)
            {
                BindingOperations.SetBinding(compositeContextMenu, CompositeContextMenu.CompositionContextProperty, CompositionContextBinding);
            }

            return(compositeContextMenu);
        }
        /// <summary>
        /// When implemented in a derived class, returns an object that is provided as the value of the target property for this markup extension.
        /// </summary>
        /// <param name="serviceProvider">A service provider helper that can provide services for the markup extension.</param>
        /// <returns>
        /// The object value to set on the property where the extension is applied.
        /// </returns>
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var compositeContextMenu = new CompositeContextMenu()
            {
                RegionId = RegionId
            };

            if (CompositionContextBinding != null)
            {
                BindingOperations.SetBinding(compositeContextMenu, CompositeContextMenu.CompositionContextProperty, CompositionContextBinding);
            }

            return compositeContextMenu;
        }