public override object ConvertFrom( ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value) { KeyModifierCollection result = new KeyModifierCollection(); string stringValue = value as string; // convert null as None if( value == null || ( stringValue != null && stringValue.Trim() == string.Empty ) ) { result.Add( KeyModifier.None ); } else { // respect the following separators: '+', ' ', '|', or ',' foreach( string token in stringValue.Split( new char[] { '+', ' ', '|', ',' }, StringSplitOptions.RemoveEmptyEntries ) ) result.Add( ( KeyModifier )_keyModifierConverter.ConvertFrom( typeDescriptorContext, cultureInfo, token ) ); // if nothing added, assume None if( result.Count == 0 ) result.Add( KeyModifier.None ); } return result; }
private static KeyModifierCollection GetDefaultRelativeZoomModifiers() { KeyModifierCollection result = new KeyModifierCollection(); result.Add( KeyModifier.Ctrl ); result.Add( KeyModifier.Alt ); result.Add( KeyModifier.Exact ); return result; }
private static KeyModifierCollection GetDefaultZoomToSelectionModifiers() { KeyModifierCollection result = new KeyModifierCollection(); result.Add( KeyModifier.Alt ); result.Add( KeyModifier.Exact ); return result; }