/// <summary>
        /// Creates an actual <see cref="VirtualizationStrategy"/> instance
        /// based on the properties defined on this <see cref="VirtualizationStrategyDefinition"/> instance.
        /// </summary>
        /// <returns>
        /// An instance of the <see cref="VirtualizationStrategy"/> class that
        /// represents the UI virtualization strategy.
        /// </returns>
        internal override VirtualizationStrategy CreateStrategy()
        {
            WrapVirtualizationStrategy strategy = new WrapVirtualizationStrategy();

            strategy.Orientation = this.Orientation;
            return(strategy);
        }
        internal override void SynchStrategyProperties(VirtualizationStrategy strategy)
        {
            WrapVirtualizationStrategy typedStrategy = strategy as WrapVirtualizationStrategy;

            if (typedStrategy == null)
            {
                throw new InvalidOperationException("This virtualization strategy definition can only synch properties for " + typeof(WrapVirtualizationStrategy).ToString() + " instances.");
            }

            typedStrategy.Orientation       = this.Orientation;
            typedStrategy.WrapLineAlignment = this.WrapLineAlignment;
        }