Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / Windows / DependencyPropertyKey.cs / 1 / DependencyPropertyKey.cs
using System; using System.Diagnostics; // For Assert namespace System.Windows { ////// Authorization key for access to read-only DependencyProperty. /// Acquired via DependencyProperty.RegisterReadOnly/RegisterAttachedReadOnly /// and used in DependencyObject.SetValue/ClearValue. /// ////// This object can have a transient state upon creation where the _dp /// field can be null until initialized. However in use _dp needs to always /// be non-null. Otherwise it is treated as a key that can't unlock anything. /// (When needed, this property is available via the static constant NoAccess. /// public sealed class DependencyPropertyKey { ////// The DependencyProperty associated with this access key. This key /// does not authorize access to any other property. /// public DependencyProperty DependencyProperty { get { return _dp; } } internal DependencyPropertyKey(DependencyProperty dp) { _dp = dp; } ////// Override the metadata of a property that is already secured with /// this key. /// public void OverrideMetadata( Type forType, PropertyMetadata typeMetadata ) { if( _dp == null ) { throw new InvalidOperationException(); } _dp.OverrideMetadata( forType, typeMetadata, this ); } // This is not a property setter because we can't have a public // property getter and a internal property setter on the same property. internal void SetDependencyProperty(DependencyProperty dp) { Debug.Assert(_dp==null,"This should only be used when we need a placeholder and have a temporary value of null. It should not be used to change this property."); _dp = dp; } private DependencyProperty _dp = null; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DomNameTable.cs
- VirtualDirectoryMapping.cs
- FixedSOMContainer.cs
- BitmapMetadata.cs
- Model3DGroup.cs
- OutgoingWebResponseContext.cs
- _ScatterGatherBuffers.cs
- RemotingServices.cs
- ProcessThreadCollection.cs
- AccessorTable.cs
- WebPartDescription.cs
- DBSchemaTable.cs
- CatalogPartChrome.cs
- GroupJoinQueryOperator.cs
- DataGridViewRowsRemovedEventArgs.cs
- RequestDescription.cs
- PositiveTimeSpanValidator.cs
- HScrollBar.cs
- DifferencingCollection.cs
- SafeNativeMethods.cs
- UnsafeNativeMethodsCLR.cs
- DesignerToolboxInfo.cs
- ConfigXmlSignificantWhitespace.cs
- CodeStatement.cs
- SymmetricKey.cs
- DesignerImageAdapter.cs
- HuffModule.cs
- ProjectionNode.cs
- MultiDataTrigger.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- FtpRequestCacheValidator.cs
- DataColumnMapping.cs
- Camera.cs
- DataGridViewRowPrePaintEventArgs.cs
- MessageHeaderT.cs
- ConsoleCancelEventArgs.cs
- TaskHelper.cs
- XmlUtil.cs
- DriveNotFoundException.cs
- MaterialCollection.cs
- NodeInfo.cs
- ApplicationDirectory.cs
- BamlCollectionHolder.cs
- FontFamily.cs
- SevenBitStream.cs
- AutomationPattern.cs
- EnumerationRangeValidationUtil.cs
- ScriptingJsonSerializationSection.cs
- VirtualizingStackPanel.cs
- Utils.cs
- PathData.cs
- LabelEditEvent.cs
- BaseProcessor.cs
- ErrorFormatterPage.cs
- ProcessDesigner.cs
- CheckoutException.cs
- DateTimeFormat.cs
- CellQuery.cs
- DesigntimeLicenseContextSerializer.cs
- TableItemStyle.cs
- ColorConvertedBitmap.cs
- NoneExcludedImageIndexConverter.cs
- DateTime.cs
- MemberRelationshipService.cs
- GiveFeedbackEventArgs.cs
- DynamicExpression.cs
- BitmapCacheBrush.cs
- HandlerFactoryWrapper.cs
- HebrewCalendar.cs
- HtmlInputButton.cs
- RelationshipEndMember.cs
- Point3D.cs
- Assign.cs
- ExitEventArgs.cs
- CacheOutputQuery.cs
- FunctionMappingTranslator.cs
- GuidConverter.cs
- DependencyStoreSurrogate.cs
- CompiledIdentityConstraint.cs
- Model3DGroup.cs
- ToolStripPanelCell.cs
- BaseTemplateBuildProvider.cs
- TextSelectionHelper.cs
- XmlAttributeProperties.cs
- FullTextLine.cs
- RequestQueue.cs
- StatusBarDrawItemEvent.cs
- MessageBox.cs
- ZipIOCentralDirectoryBlock.cs
- ConfigXmlReader.cs
- Monitor.cs
- TextTreeFixupNode.cs
- LockedHandleGlyph.cs
- PathData.cs
- NativeMethods.cs
- FileDialogCustomPlace.cs
- UIAgentAsyncParams.cs
- COM2IProvidePropertyBuilderHandler.cs
- DataSourceXmlElementAttribute.cs
- ReflectEventDescriptor.cs