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
- ExcludePathInfo.cs
- WebScriptMetadataMessageEncoderFactory.cs
- SerializationEventsCache.cs
- WpfXamlType.cs
- DirectoryNotFoundException.cs
- WrappedIUnknown.cs
- TrackingProfile.cs
- CodeCatchClause.cs
- GenericTypeParameterBuilder.cs
- ModelItemKeyValuePair.cs
- ISAPIWorkerRequest.cs
- DependencyPropertyAttribute.cs
- MulticastDelegate.cs
- _RequestCacheProtocol.cs
- RewritingPass.cs
- SpecularMaterial.cs
- Relationship.cs
- IsolatedStorageFileStream.cs
- WebPartAuthorizationEventArgs.cs
- FaultDescription.cs
- ControlCollection.cs
- SubMenuStyleCollectionEditor.cs
- ConfigurationLocationCollection.cs
- MaterialCollection.cs
- KeyValuePair.cs
- Transform3DGroup.cs
- RootBrowserWindowProxy.cs
- TypeBuilder.cs
- AppLevelCompilationSectionCache.cs
- ScalarConstant.cs
- PageThemeBuildProvider.cs
- BindableAttribute.cs
- NodeFunctions.cs
- documentsequencetextpointer.cs
- SharedConnectionWorkflowTransactionService.cs
- SrgsSubset.cs
- CompiledRegexRunner.cs
- DataColumnMappingCollection.cs
- SoapEnumAttribute.cs
- SafeNativeMethodsCLR.cs
- OleDbParameter.cs
- RegisteredExpandoAttribute.cs
- ParallelTimeline.cs
- SortKey.cs
- VisualProxy.cs
- Transform3D.cs
- PersistChildrenAttribute.cs
- BitmapEffectDrawingContextWalker.cs
- MsdtcWrapper.cs
- ActivityMarkupSerializationProvider.cs
- SoapAttributeAttribute.cs
- QueryRewriter.cs
- ResourceReferenceExpression.cs
- LateBoundBitmapDecoder.cs
- SizeKeyFrameCollection.cs
- Span.cs
- PersonalizationProvider.cs
- UrlAuthFailureHandler.cs
- Image.cs
- UnmanagedMemoryStream.cs
- PenContext.cs
- WebResourceUtil.cs
- Literal.cs
- MaskInputRejectedEventArgs.cs
- RowUpdatedEventArgs.cs
- DataStreamFromComStream.cs
- ImageResources.Designer.cs
- LayoutInformation.cs
- SignatureToken.cs
- CancelAsyncOperationRequest.cs
- COM2FontConverter.cs
- Thumb.cs
- RewritingPass.cs
- ChangeDirector.cs
- WebBrowserProgressChangedEventHandler.cs
- IFlowDocumentViewer.cs
- PermissionSetEnumerator.cs
- TearOffProxy.cs
- ImageList.cs
- RegistrySecurity.cs
- ProcessHostServerConfig.cs
- EntitySqlQueryState.cs
- BezierSegment.cs
- Sentence.cs
- SecurityHeader.cs
- DispatchWrapper.cs
- SpecialNameAttribute.cs
- UndoEngine.cs
- KeyGestureValueSerializer.cs
- StylusDevice.cs
- updatecommandorderer.cs
- TaskForm.cs
- WeakEventTable.cs
- RTLAwareMessageBox.cs
- SynchronizedDisposablePool.cs
- SoundPlayerAction.cs
- TreeSet.cs
- EventDriven.cs
- DataGridViewComponentPropertyGridSite.cs
- EdmFunction.cs