Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / ControlPropertyNameConverter.cs / 1 / ControlPropertyNameConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's PropertyName property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlPropertyNameConverter : StringConverter { ////// Returns a list of all the propery names for a given control. /// private string[] GetPropertyNames(Control control) { ArrayList array = new ArrayList(); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(control.GetType()); foreach (PropertyDescriptor desc in pdc) { array.Add(desc.Name); } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } // Get ControlID ControlParameter param = (ControlParameter)context.Instance; string controlID = param.ControlID; // Check that we actually have a control ID if (String.IsNullOrEmpty(controlID)) return null; // Get designer host IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlPropertyNameConverter"); if (host == null) return null; // Get control ComponentCollection allComponents = host.Container.Components; Control control = allComponents[controlID] as Control; if (control == null) return null; string[] propertyNames = GetPropertyNames(control); return new StandardValuesCollection(propertyNames); } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's PropertyName property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlPropertyNameConverter : StringConverter { ////// Returns a list of all the propery names for a given control. /// private string[] GetPropertyNames(Control control) { ArrayList array = new ArrayList(); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(control.GetType()); foreach (PropertyDescriptor desc in pdc) { array.Add(desc.Name); } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } // Get ControlID ControlParameter param = (ControlParameter)context.Instance; string controlID = param.ControlID; // Check that we actually have a control ID if (String.IsNullOrEmpty(controlID)) return null; // Get designer host IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlPropertyNameConverter"); if (host == null) return null; // Get control ComponentCollection allComponents = host.Container.Components; Control control = allComponents[controlID] as Control; if (control == null) return null; string[] propertyNames = GetPropertyNames(control); return new StandardValuesCollection(propertyNames); } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != 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
- diagnosticsswitches.cs
- BufferedGraphics.cs
- ControlCollection.cs
- SqlDataSourceSelectingEventArgs.cs
- ExceptionWrapper.cs
- ToolStripPanelCell.cs
- GifBitmapDecoder.cs
- CryptoConfig.cs
- ViewCellSlot.cs
- MetabaseServerConfig.cs
- DPTypeDescriptorContext.cs
- Enlistment.cs
- VisualTreeUtils.cs
- PointConverter.cs
- JoinCqlBlock.cs
- WebServiceMethodData.cs
- FilterQuery.cs
- FunctionImportElement.cs
- BitmapEffectDrawingContextWalker.cs
- _UncName.cs
- RemoveStoryboard.cs
- ClientBuildManager.cs
- BinaryParser.cs
- ControlCachePolicy.cs
- ChangeProcessor.cs
- AssemblyBuilder.cs
- SqlNamer.cs
- LogArchiveSnapshot.cs
- DataFormat.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataPagerFieldItem.cs
- SupportingTokenParameters.cs
- PropertyChangingEventArgs.cs
- PointCollection.cs
- XmlBufferedByteStreamReader.cs
- StartUpEventArgs.cs
- UriScheme.cs
- BaseCollection.cs
- CodeDomSerializerBase.cs
- StringResourceManager.cs
- X509Certificate.cs
- Document.cs
- AuthorizationRuleCollection.cs
- TextBoxAutomationPeer.cs
- UnmanagedMemoryAccessor.cs
- SpeechUI.cs
- MimeBasePart.cs
- GridViewUpdateEventArgs.cs
- CompilerGlobalScopeAttribute.cs
- SQLInt16.cs
- XmlSignificantWhitespace.cs
- DesignerRegion.cs
- RichTextBoxAutomationPeer.cs
- Expr.cs
- ArgumentNullException.cs
- SqlFunctionAttribute.cs
- InfoCardSchemas.cs
- ShapingEngine.cs
- QilPatternFactory.cs
- MultilineStringConverter.cs
- XDRSchema.cs
- TemplateXamlParser.cs
- DbConnectionHelper.cs
- ProfileSection.cs
- TextParagraphProperties.cs
- ZipIOExtraFieldZip64Element.cs
- MeasureItemEvent.cs
- SeekableReadStream.cs
- InstanceOwnerException.cs
- UpdatePanel.cs
- GridProviderWrapper.cs
- StatusBarPanelClickEvent.cs
- CheckedPointers.cs
- _NTAuthentication.cs
- WindowsScroll.cs
- TraceContextRecord.cs
- XPathBinder.cs
- EventLogWatcher.cs
- SpeechSeg.cs
- InvalidChannelBindingException.cs
- InputScopeConverter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- XmlAtomErrorReader.cs
- MethodImplAttribute.cs
- SafeFileMappingHandle.cs
- webbrowsersite.cs
- VideoDrawing.cs
- FormsAuthenticationUserCollection.cs
- ObjectCloneHelper.cs
- GrammarBuilder.cs
- BindingGroup.cs
- sqlinternaltransaction.cs
- LazyTextWriterCreator.cs
- UIAgentRequest.cs
- DrawingVisualDrawingContext.cs
- SqlUdtInfo.cs
- MemberPath.cs
- WebPartCancelEventArgs.cs
- BlobPersonalizationState.cs
- Size.cs