private static void OnItemHeightOrWidthPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { VirtualizingWrapPanel source = (VirtualizingWrapPanel)d; double value = (double)e.NewValue; // Ignore the change if requested if (source._ignorePropertyChange) { source._ignorePropertyChange = false; return; } // Validate the length (which must either be NaN or a positive, // finite number) if (!double.IsNaN(value) && ((value <= 0.0) || double.IsPositiveInfinity(value))) { // Reset the property to its original state before throwing source._ignorePropertyChange = true; source.SetValue(e.Property, (double)e.OldValue); //string message = string.Format( // CultureInfo.InvariantCulture, // Properties.Resources.VirtualizingWrapPanel_OnItemHeightOrWidthPropertyChanged_InvalidValue, // value); //throw new ArgumentException(message, "value"); } // The length properties affect measuring. source.InvalidateMeasure(); }
private static void OnOrientationPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { VirtualizingWrapPanel source = (VirtualizingWrapPanel)d; Orientation value = (Orientation)e.NewValue; // Ignore the change if requested if (source._ignorePropertyChange) { source._ignorePropertyChange = false; return; } // Validate the Orientation if ((value != Orientation.Horizontal) && (value != Orientation.Vertical)) { // Reset the property to its original state before throwing source._ignorePropertyChange = true; source.SetValue(OrientationProperty, (Orientation)e.OldValue); //string message = string.Format( // CultureInfo.InvariantCulture, // Properties.Resources.WrapPanel_OnOrientationPropertyChanged_InvalidValue, // value); //throw new ArgumentException(message, "value"); } // Orientation affects measuring. source.InvalidateMeasure(); }