Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / AlternationConverter.cs / 1305600 / AlternationConverter.cs
//---------------------------------------------------------------------------- // //// Copyright (C) by Microsoft Corporation. All rights reserved. // // // Description: Convert between index and a list of values. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Windows.Data; using System.Windows.Markup; namespace System.Windows.Controls { ////// AlternationConverter is intended to be used by a binding to the /// ItemsControl.AlternationIndex attached property. It converts an integer /// into the corresponding item in Values list. /// [ContentProperty("Values")] public class AlternationConverter : IValueConverter { ////// A list of values. /// public IList Values { get { return _values; } } /// /// Convert an integer to the corresponding value from the Values list. /// public object Convert (object o, Type targetType, object parameter, CultureInfo culture) { if (_values.Count > 0 && o is int) { int index = ((int)o) % _values.Count; if (index < 0) // Adjust for incorrect definition of the %-operator for negative arguments. index += _values.Count; return _values[index]; } return DependencyProperty.UnsetValue; } ////// Convert an object to the index in the Values list at which that object appears. /// If the object is not in the Values list, return -1. /// public object ConvertBack(object o, Type targetType, object parameter, CultureInfo culture) { return _values.IndexOf(o); } List
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebBrowsableAttribute.cs
- SafePEFileHandle.cs
- DataGridTable.cs
- SetterBaseCollection.cs
- DataKey.cs
- DataRelation.cs
- Char.cs
- BlurEffect.cs
- HtmlControl.cs
- KnownTypeHelper.cs
- SelectingProviderEventArgs.cs
- XmlCharacterData.cs
- JsonReader.cs
- EventDescriptorCollection.cs
- TraceFilter.cs
- ProtocolException.cs
- RepeatBehavior.cs
- FilterException.cs
- ArrayWithOffset.cs
- SectionVisual.cs
- XsdCachingReader.cs
- ListBoxChrome.cs
- ItemTypeToolStripMenuItem.cs
- DataGridViewCellMouseEventArgs.cs
- KeyGestureConverter.cs
- HostProtectionException.cs
- FrameAutomationPeer.cs
- XsltSettings.cs
- EventLog.cs
- MemoryPressure.cs
- DbgCompiler.cs
- BitVector32.cs
- ReferenceEqualityComparer.cs
- ObjectItemCollection.cs
- HttpHandler.cs
- BindStream.cs
- XmlNodeComparer.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- AnimationStorage.cs
- DependencyPropertyKind.cs
- SystemPens.cs
- ListViewInsertedEventArgs.cs
- ObjectItemAttributeAssemblyLoader.cs
- EventLogTraceListener.cs
- NativeMethods.cs
- DateTimeFormatInfoScanner.cs
- ColorMap.cs
- NativeMethods.cs
- PreloadedPackages.cs
- LeaseManager.cs
- PropertyGrid.cs
- CompositeActivityDesigner.cs
- TableLayoutPanelResizeGlyph.cs
- ProvidersHelper.cs
- MetaChildrenColumn.cs
- WizardForm.cs
- CLSCompliantAttribute.cs
- Run.cs
- AcceleratedTokenAuthenticator.cs
- DataGridViewDataConnection.cs
- CompositeFontFamily.cs
- ApplicationFileCodeDomTreeGenerator.cs
- Vector3DCollectionValueSerializer.cs
- WebDisplayNameAttribute.cs
- NetworkStream.cs
- GroupItem.cs
- FrameAutomationPeer.cs
- Avt.cs
- SecurityTokenProviderContainer.cs
- TextFormatterImp.cs
- ListItemParagraph.cs
- RTTypeWrapper.cs
- CustomAttribute.cs
- ReturnValue.cs
- _DisconnectOverlappedAsyncResult.cs
- FolderBrowserDialogDesigner.cs
- PropertyDescriptorComparer.cs
- ReadOnlyDataSource.cs
- BindingEntityInfo.cs
- TableDesigner.cs
- DropShadowEffect.cs
- Soap.cs
- DataControlFieldHeaderCell.cs
- ConfigurationSectionCollection.cs
- ValidationErrorInfo.cs
- Boolean.cs
- QilGenerator.cs
- Marshal.cs
- MergeFailedEvent.cs
- ExpressionBuilderContext.cs
- DataGridViewBand.cs
- WindowsFormsHost.cs
- CTreeGenerator.cs
- SrgsDocument.cs
- CapabilitiesAssignment.cs
- FormView.cs
- TextEffectCollection.cs
- ConsoleKeyInfo.cs
- TextTreeTextElementNode.cs
- DurableInstanceManager.cs