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
- MsmqBindingElementBase.cs
- ImageBrush.cs
- HtmlImage.cs
- MemberInfoSerializationHolder.cs
- DataPagerFieldCommandEventArgs.cs
- HttpWebResponse.cs
- TraceHandlerErrorFormatter.cs
- Interfaces.cs
- JsonEnumDataContract.cs
- ToolStripItemEventArgs.cs
- RegisteredScript.cs
- WindowsFormsHostPropertyMap.cs
- QuaternionAnimationUsingKeyFrames.cs
- TimelineClockCollection.cs
- NativeMethods.cs
- _AutoWebProxyScriptWrapper.cs
- HyperLinkColumn.cs
- DataKeyArray.cs
- SqlInternalConnection.cs
- CodeNamespaceCollection.cs
- TextOutput.cs
- NaturalLanguageHyphenator.cs
- LogLogRecordHeader.cs
- EdgeModeValidation.cs
- SHA384.cs
- WindowsTreeView.cs
- DrawingVisual.cs
- DeviceContext.cs
- DbConnectionPoolGroup.cs
- COSERVERINFO.cs
- SchemeSettingElementCollection.cs
- BinarySerializer.cs
- XslCompiledTransform.cs
- ClockController.cs
- LongValidatorAttribute.cs
- Span.cs
- ContainsRowNumberChecker.cs
- HttpRequestBase.cs
- AnnotationService.cs
- DispatcherExceptionFilterEventArgs.cs
- Schema.cs
- ActiveDocumentEvent.cs
- ControlPaint.cs
- PassportAuthenticationEventArgs.cs
- RewritingValidator.cs
- CounterCreationDataCollection.cs
- WorkflowViewManager.cs
- ToolStripDesigner.cs
- BaseParaClient.cs
- CookieProtection.cs
- CurrentChangingEventArgs.cs
- Expander.cs
- FlowLayout.cs
- DataTablePropertyDescriptor.cs
- SqlNodeAnnotations.cs
- ResourcePool.cs
- NumberSubstitution.cs
- MaskedTextProvider.cs
- PartialCachingControl.cs
- OciLobLocator.cs
- Root.cs
- CharKeyFrameCollection.cs
- DataServiceRequest.cs
- DesignerSerializationManager.cs
- ToolStripItemEventArgs.cs
- QualifiedCellIdBoolean.cs
- XComponentModel.cs
- TreeSet.cs
- ImageAnimator.cs
- ScriptControlManager.cs
- BlurBitmapEffect.cs
- ChannelFactoryBase.cs
- COM2PictureConverter.cs
- TargetException.cs
- BindingsSection.cs
- OutputScopeManager.cs
- SymmetricAlgorithm.cs
- TextElementCollection.cs
- DeviceFilterDictionary.cs
- WebPartEditorOkVerb.cs
- mediapermission.cs
- StackBuilderSink.cs
- XmlElementAttribute.cs
- EventLogPermissionAttribute.cs
- CookieHandler.cs
- CompareValidator.cs
- ConfigurationValidatorBase.cs
- NetStream.cs
- TraceHwndHost.cs
- FunctionParameter.cs
- ControlEvent.cs
- MessageQueuePermissionEntryCollection.cs
- SignatureGenerator.cs
- DefaultValueTypeConverter.cs
- RowSpanVector.cs
- NavigationCommands.cs
- NTAccount.cs
- LinqDataSourceDeleteEventArgs.cs
- DispatcherExceptionEventArgs.cs
- WinFormsSpinner.cs