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
- CustomBindingCollectionElement.cs
- ResourceDefaultValueAttribute.cs
- DbProviderFactories.cs
- BinaryObjectWriter.cs
- LongMinMaxAggregationOperator.cs
- DelegateHelpers.cs
- AudioStateChangedEventArgs.cs
- CrossSiteScriptingValidation.cs
- ToolBarOverflowPanel.cs
- NameValueCollection.cs
- DependencyObjectValidator.cs
- UnsafeNativeMethodsTablet.cs
- OuterGlowBitmapEffect.cs
- ISCIIEncoding.cs
- ActiveXSite.cs
- EntityWithChangeTrackerStrategy.cs
- DrawToolTipEventArgs.cs
- ApplicationDirectoryMembershipCondition.cs
- OperationPerformanceCounters.cs
- SymmetricAlgorithm.cs
- DynamicPropertyHolder.cs
- XmlAnyElementAttribute.cs
- XmlHierarchicalEnumerable.cs
- ParameterModifier.cs
- DockProviderWrapper.cs
- SqlBuilder.cs
- EventMappingSettingsCollection.cs
- BatchWriter.cs
- ImplicitInputBrush.cs
- EntityChangedParams.cs
- DataGridTable.cs
- XmlWrappingWriter.cs
- XmlDictionaryReaderQuotas.cs
- DataGridViewCellEventArgs.cs
- ConfigurationLocationCollection.cs
- PersonalizationStateQuery.cs
- EncodingInfo.cs
- PropertyFilterAttribute.cs
- QueryStringParameter.cs
- XmlChildNodes.cs
- XmlSchemaCompilationSettings.cs
- LambdaExpression.cs
- ObsoleteAttribute.cs
- ActivationServices.cs
- PolyLineSegmentFigureLogic.cs
- EventToken.cs
- PKCS1MaskGenerationMethod.cs
- TemplatePartAttribute.cs
- StandardOleMarshalObject.cs
- MiniConstructorInfo.cs
- DesignTimeValidationFeature.cs
- ReadOnlyMetadataCollection.cs
- OperatorExpressions.cs
- WebBrowserContainer.cs
- Int64Converter.cs
- DeflateEmulationStream.cs
- LinearKeyFrames.cs
- StyleSheetDesigner.cs
- Matrix.cs
- SingleObjectCollection.cs
- AppDomainManager.cs
- TransformerInfoCollection.cs
- HwndStylusInputProvider.cs
- RenderTargetBitmap.cs
- MetadataSerializer.cs
- RecognitionResult.cs
- TextBox.cs
- SerializableTypeCodeDomSerializer.cs
- TextLine.cs
- RemoteWebConfigurationHostServer.cs
- CompositeControl.cs
- StandardCommands.cs
- Color.cs
- ToolConsole.cs
- DataContractJsonSerializer.cs
- FlowLayoutPanel.cs
- DurationConverter.cs
- HtmlAnchor.cs
- ResizeGrip.cs
- SymbolResolver.cs
- WaitHandle.cs
- TypeToArgumentTypeConverter.cs
- WindowsSysHeader.cs
- _ProxyChain.cs
- SemaphoreSlim.cs
- BasicCommandTreeVisitor.cs
- JsonReader.cs
- SystemPens.cs
- InputScope.cs
- ListItemParagraph.cs
- Transform.cs
- TagNameToTypeMapper.cs
- EditingCoordinator.cs
- ListBoxItem.cs
- XmlExceptionHelper.cs
- Calendar.cs
- DataPointer.cs
- EventBindingService.cs
- ModuleBuilderData.cs
- SplitterCancelEvent.cs