Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / DataGridItemAttachedStorage.cs / 1305600 / DataGridItemAttachedStorage.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Windows; namespace System.Windows.Controls { ////// Holds all of the information that we need to attach to row items so that we can restore rows when they're devirtualized. /// internal class DataGridItemAttachedStorage { public void SetValue(object item, DependencyProperty property, object value) { var map = EnsureItem(item); map[property] = value; } public bool TryGetValue(object item, DependencyProperty property, out object value) { value = null; Dictionarymap; EnsureItemStorageMap(); if (_itemStorageMap.TryGetValue(item, out map)) { return map.TryGetValue(property, out value); } return false; } public void ClearValue(object item, DependencyProperty property) { Dictionary map; EnsureItemStorageMap(); if (_itemStorageMap.TryGetValue(item, out map)) { map.Remove(property); } } public void ClearItem(object item) { EnsureItemStorageMap(); _itemStorageMap.Remove(item); } public void Clear() { _itemStorageMap = null; } private void EnsureItemStorageMap() { if (_itemStorageMap == null) { _itemStorageMap = new Dictionary
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FreeFormDesigner.cs
- WebServiceClientProxyGenerator.cs
- MULTI_QI.cs
- SerializationUtility.cs
- ThreadStateException.cs
- ServicePoint.cs
- GridProviderWrapper.cs
- UpdateTracker.cs
- PseudoWebRequest.cs
- ReadOnlyHierarchicalDataSourceView.cs
- EmbeddedMailObjectCollectionEditor.cs
- ProtocolsConfigurationEntry.cs
- ProxyAttribute.cs
- ProtocolProfile.cs
- TdsParserHelperClasses.cs
- XmlSubtreeReader.cs
- COM2ExtendedUITypeEditor.cs
- HttpEncoderUtility.cs
- ConnectionsZoneDesigner.cs
- ExtentJoinTreeNode.cs
- DateTimeConverter2.cs
- UInt32.cs
- MemoryRecordBuffer.cs
- EventPrivateKey.cs
- ReferencedAssemblyResolver.cs
- VisualStyleInformation.cs
- ElementAtQueryOperator.cs
- BindingListCollectionView.cs
- XmlTextReaderImplHelpers.cs
- XmlSerializerOperationGenerator.cs
- HandledMouseEvent.cs
- WebPartManagerInternals.cs
- NetworkInformationPermission.cs
- ObjectCloneHelper.cs
- MatrixTransform.cs
- ContentPosition.cs
- TableNameAttribute.cs
- XPathNodeInfoAtom.cs
- SystemIcmpV4Statistics.cs
- DataMemberConverter.cs
- ConstantExpression.cs
- WebPartPersonalization.cs
- KeyEventArgs.cs
- TypeBuilderInstantiation.cs
- CodeTypeDeclarationCollection.cs
- DBSchemaRow.cs
- ReferenceSchema.cs
- DynamicResourceExtensionConverter.cs
- RightNameExpirationInfoPair.cs
- TemplateBuilder.cs
- WhitespaceRuleReader.cs
- SqlCommandAsyncResult.cs
- PageSettings.cs
- XmlSerializationReader.cs
- TerminatorSinks.cs
- StopStoryboard.cs
- BrowserDefinition.cs
- ConnectionProviderAttribute.cs
- CopyAttributesAction.cs
- DrawListViewSubItemEventArgs.cs
- ZipIORawDataFileBlock.cs
- COM2PictureConverter.cs
- MiniParameterInfo.cs
- Memoizer.cs
- DbProviderFactory.cs
- HttpCapabilitiesEvaluator.cs
- PrincipalPermission.cs
- UnsafeNativeMethods.cs
- SizeAnimationBase.cs
- DrawListViewSubItemEventArgs.cs
- ZipPackage.cs
- PageTheme.cs
- ListSourceHelper.cs
- EntitySqlQueryState.cs
- CheckBox.cs
- ThrowOnMultipleAssignment.cs
- AutomationTextAttribute.cs
- FaultPropagationQuery.cs
- securitycriticaldataformultiplegetandset.cs
- EntryIndex.cs
- CodeTypeDelegate.cs
- FontFamily.cs
- MouseWheelEventArgs.cs
- NamespaceInfo.cs
- AssertSection.cs
- SamlAdvice.cs
- Utils.cs
- ParagraphVisual.cs
- UserThread.cs
- Parameter.cs
- Win32PrintDialog.cs
- ConfigXmlComment.cs
- MenuItem.cs
- Thread.cs
- FilteredDataSetHelper.cs
- SparseMemoryStream.cs
- Function.cs
- SmtpNtlmAuthenticationModule.cs
- NonParentingControl.cs
- GuidConverter.cs