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
- StorageEntitySetMapping.cs
- ConcurrentBag.cs
- RawUIStateInputReport.cs
- Bezier.cs
- Selector.cs
- ScrollPatternIdentifiers.cs
- x509utils.cs
- ParameterCollection.cs
- TimelineGroup.cs
- Panel.cs
- documentation.cs
- TokenBasedSetEnumerator.cs
- KeyConverter.cs
- PropertyMapper.cs
- Codec.cs
- BitmapEffectInputData.cs
- HMAC.cs
- ListDictionary.cs
- CodeSnippetTypeMember.cs
- EntryIndex.cs
- Int32Storage.cs
- TabItem.cs
- DataGridViewComboBoxEditingControl.cs
- DataServiceEntityAttribute.cs
- XmlValidatingReaderImpl.cs
- HostUtils.cs
- UserControlBuildProvider.cs
- HatchBrush.cs
- DataServiceProviderWrapper.cs
- SynthesizerStateChangedEventArgs.cs
- EnvelopedPkcs7.cs
- GridViewPageEventArgs.cs
- TextBox.cs
- TrackingProfileSerializer.cs
- listitem.cs
- ClientApiGenerator.cs
- WpfSharedBamlSchemaContext.cs
- CustomAssemblyResolver.cs
- Compilation.cs
- HtmlFormWrapper.cs
- UnsafeNativeMethods.cs
- CommandConverter.cs
- EndpointReference.cs
- OleDbInfoMessageEvent.cs
- EdmMember.cs
- RegexInterpreter.cs
- AudioLevelUpdatedEventArgs.cs
- FormattedTextSymbols.cs
- XmlArrayItemAttributes.cs
- ActionMismatchAddressingException.cs
- DbSetClause.cs
- HttpHeaderCollection.cs
- PageAsyncTaskManager.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DbConnectionClosed.cs
- SqlParameter.cs
- IsolatedStorage.cs
- SqlRemoveConstantOrderBy.cs
- SpecialTypeDataContract.cs
- BuildProvider.cs
- XmlSchemaValidator.cs
- DayRenderEvent.cs
- Invariant.cs
- SplitContainer.cs
- KeyboardNavigation.cs
- mda.cs
- PrintPreviewControl.cs
- EventListener.cs
- RepeaterItemCollection.cs
- ContentOnlyMessage.cs
- XsdBuilder.cs
- CodeCastExpression.cs
- SliderAutomationPeer.cs
- QilFunction.cs
- RecognizedPhrase.cs
- _CommandStream.cs
- MappingSource.cs
- ButtonPopupAdapter.cs
- AmbientValueAttribute.cs
- IgnoreSectionHandler.cs
- XmlSubtreeReader.cs
- WebZone.cs
- IPAddressCollection.cs
- EntitySqlException.cs
- FacetValueContainer.cs
- UserControl.cs
- AsyncPostBackErrorEventArgs.cs
- DerivedKeySecurityToken.cs
- DispatcherFrame.cs
- StatusBarDesigner.cs
- ListSortDescriptionCollection.cs
- ScrollChangedEventArgs.cs
- BindMarkupExtensionSerializer.cs
- AssertUtility.cs
- InkCanvasInnerCanvas.cs
- DataStorage.cs
- SocketPermission.cs
- Menu.cs
- RoleGroupCollectionEditor.cs
- RadioButtonFlatAdapter.cs