Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MgmtConfigurationRecord.cs
- ValueSerializer.cs
- DirectoryObjectSecurity.cs
- CodeCatchClause.cs
- MarkerProperties.cs
- NetMsmqBinding.cs
- PageCatalogPart.cs
- PerformanceCounterCategory.cs
- PublisherIdentityPermission.cs
- CompareValidator.cs
- AutomationIdentifierGuids.cs
- XmlSchemaObject.cs
- PreviewKeyDownEventArgs.cs
- smtpconnection.cs
- GeometryValueSerializer.cs
- EncoderBestFitFallback.cs
- EventLogger.cs
- UnhandledExceptionEventArgs.cs
- ToolStripGripRenderEventArgs.cs
- RegionData.cs
- ScrollChrome.cs
- AsymmetricAlgorithm.cs
- ProgressiveCrcCalculatingStream.cs
- PagesSection.cs
- RolePrincipal.cs
- FunctionDetailsReader.cs
- ProtocolsConfigurationHandler.cs
- ExpressionValueEditor.cs
- ObjectListCommandEventArgs.cs
- GeneralTransform3DGroup.cs
- EntityProxyTypeInfo.cs
- SspiHelper.cs
- IndentedWriter.cs
- ResumeStoryboard.cs
- NoResizeHandleGlyph.cs
- TableRowCollection.cs
- ToolStripSystemRenderer.cs
- PathFigure.cs
- ReachSerializableProperties.cs
- XmlCompatibilityReader.cs
- XmlArrayItemAttributes.cs
- HtmlInputText.cs
- TypeSemantics.cs
- XmlReflectionImporter.cs
- DbRetry.cs
- StandardCommands.cs
- ProcessProtocolHandler.cs
- DragStartedEventArgs.cs
- ContractComponent.cs
- UIElementAutomationPeer.cs
- ViewLoader.cs
- PermissionSet.cs
- DeferredSelectedIndexReference.cs
- BrowserInteropHelper.cs
- EntityDescriptor.cs
- UnSafeCharBuffer.cs
- QilIterator.cs
- ComboBoxRenderer.cs
- CodeDelegateInvokeExpression.cs
- WebBrowserContainer.cs
- SqlExpander.cs
- RequestCacheValidator.cs
- RpcResponse.cs
- EncoderExceptionFallback.cs
- DocumentPageTextView.cs
- StaticResourceExtension.cs
- Stack.cs
- JulianCalendar.cs
- ScrollBarRenderer.cs
- EntityStoreSchemaGenerator.cs
- NativeMethods.cs
- UniqueID.cs
- TreeNodeStyleCollection.cs
- ComponentGlyph.cs
- PersianCalendar.cs
- userdatakeys.cs
- AppModelKnownContentFactory.cs
- COM2FontConverter.cs
- TrackingSection.cs
- CachingHintValidation.cs
- Expression.cs
- FixedTextPointer.cs
- DataGrid.cs
- DataGridViewBand.cs
- ChannelManagerService.cs
- XmlDocumentSerializer.cs
- RouteData.cs
- NotSupportedException.cs
- ELinqQueryState.cs
- Currency.cs
- TextPatternIdentifiers.cs
- QueryOperationResponseOfT.cs
- TextEditorCopyPaste.cs
- DispatcherTimer.cs
- Journaling.cs
- Vector3DIndependentAnimationStorage.cs
- BaseTemplateBuildProvider.cs
- SqlProfileProvider.cs
- RichTextBox.cs
- ParserContext.cs