/// <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() { StackVirtualizationStrategy strategy = new StackVirtualizationStrategy(); strategy.Orientation = this.Orientation; return(strategy); }
/// <summary> /// Synchronizes the properties of the provided <see cref="VirtualizationStrategy" /> instance /// with the current definition. /// </summary> /// <param name="strategy">The <see cref="VirtualizationStrategy" /> instance which property values will /// be synchronized with the ones defined by this <see cref="VirtualizationStrategyDefinition" /> instance.</param> internal override void SynchStrategyProperties(VirtualizationStrategy strategy) { StackVirtualizationStrategy typedStrategy = strategy as StackVirtualizationStrategy; if (typedStrategy == null) { throw new InvalidOperationException("This virtualization strategy definition can only synch properties for " + typeof(StackVirtualizationStrategy).ToString() + " instances."); } typedStrategy.Orientation = this.Orientation; typedStrategy.ReorderMode = this.ReorderMode; }