Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- MonthChangedEventArgs.cs
- GridViewColumnCollectionChangedEventArgs.cs
- SoapAttributeOverrides.cs
- CheckPair.cs
- OrderedParallelQuery.cs
- _Rfc2616CacheValidators.cs
- EventHandlerList.cs
- ProviderBase.cs
- DllNotFoundException.cs
- DataGridTable.cs
- BadImageFormatException.cs
- FixedSOMTableRow.cs
- PolyBezierSegment.cs
- webclient.cs
- XmlSchemaSimpleType.cs
- EncoderNLS.cs
- BrowserDefinition.cs
- PlanCompilerUtil.cs
- XmlAtomicValue.cs
- HttpMethodConstraint.cs
- StoreItemCollection.Loader.cs
- initElementDictionary.cs
- HTMLTagNameToTypeMapper.cs
- SoapFault.cs
- TriggerActionCollection.cs
- __ConsoleStream.cs
- NonDualMessageSecurityOverHttp.cs
- EventLogQuery.cs
- IconHelper.cs
- IPAddressCollection.cs
- EdgeModeValidation.cs
- MetadataItemEmitter.cs
- XmlText.cs
- WindowsGrip.cs
- HtmlControlPersistable.cs
- WebPartConnectionsDisconnectVerb.cs
- KeyInterop.cs
- Object.cs
- ShapeTypeface.cs
- DoubleAnimation.cs
- Pts.cs
- ToolboxItemAttribute.cs
- SecurityTraceRecordHelper.cs
- Track.cs
- AsyncResult.cs
- XamlTreeBuilder.cs
- ClonableStack.cs
- StrokeCollection.cs
- XmlIgnoreAttribute.cs
- JavaScriptSerializer.cs
- codemethodreferenceexpression.cs
- ItemCollection.cs
- processwaithandle.cs
- FunctionUpdateCommand.cs
- TextWriter.cs
- ComEventsHelper.cs
- XmlEntity.cs
- DateTimeUtil.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- AppDomainAttributes.cs
- IsolatedStorageFile.cs
- DataPagerFieldItem.cs
- LinearKeyFrames.cs
- CodeNamespaceImport.cs
- ExpressionList.cs
- Selection.cs
- QuotedPairReader.cs
- RtfControls.cs
- CommandSet.cs
- ValueUtilsSmi.cs
- ListCollectionView.cs
- LayoutEvent.cs
- MSAAWinEventWrap.cs
- ImageDrawing.cs
- XmlDownloadManager.cs
- InvalidFilterCriteriaException.cs
- ZipIOLocalFileBlock.cs
- RtfFormatStack.cs
- exports.cs
- SyndicationFeed.cs
- BaseCollection.cs
- XmlComplianceUtil.cs
- HttpProcessUtility.cs
- WebPartTracker.cs
- DecimalConstantAttribute.cs
- PtsPage.cs
- EntityType.cs
- WindowsFormsHost.cs
- PopOutPanel.cs
- DataRecordInfo.cs
- GeneralTransformCollection.cs
- UInt16Storage.cs
- OpenFileDialog.cs
- UpdateExpressionVisitor.cs
- Parsers.cs
- PersistencePipeline.cs
- SqlParameterizer.cs
- AddingNewEventArgs.cs
- XmlMemberMapping.cs
- x509store.cs