Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PackagingUtilities.cs
- BitmapImage.cs
- CommandBinding.cs
- MouseDevice.cs
- TCPClient.cs
- PackagePartCollection.cs
- Int16KeyFrameCollection.cs
- SQLDecimal.cs
- InheritablePropertyChangeInfo.cs
- TemplateEditingFrame.cs
- RunClient.cs
- CodeDomConfigurationHandler.cs
- ControlCollection.cs
- SocketException.cs
- EFDataModelProvider.cs
- SqlCharStream.cs
- ArrayList.cs
- OleDbErrorCollection.cs
- OdbcError.cs
- MetadataPropertyCollection.cs
- InfoCardClaimCollection.cs
- BamlBinaryWriter.cs
- MD5.cs
- DBPropSet.cs
- ObservableCollection.cs
- HScrollBar.cs
- TextDecoration.cs
- SatelliteContractVersionAttribute.cs
- Encoder.cs
- Compress.cs
- MultiBindingExpression.cs
- PageRouteHandler.cs
- DoubleAnimationUsingPath.cs
- SoapCodeExporter.cs
- ServiceBuildProvider.cs
- ByteArrayHelperWithString.cs
- DataPagerField.cs
- SortExpressionBuilder.cs
- Model3D.cs
- PackUriHelper.cs
- FlowLayoutPanel.cs
- ListViewItem.cs
- UrlMappingsModule.cs
- EventLogEntryCollection.cs
- DataGridViewColumnCollectionDialog.cs
- DebugView.cs
- EventLogEntry.cs
- prompt.cs
- MethodBody.cs
- ZipIOExtraField.cs
- ShimAsPublicXamlType.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- RegexCharClass.cs
- SchemaComplexType.cs
- EncoderReplacementFallback.cs
- FileAccessException.cs
- DataMemberConverter.cs
- ProxyAttribute.cs
- UnsafeNativeMethods.cs
- WpfXamlMember.cs
- FormViewModeEventArgs.cs
- ConfigurationSettings.cs
- WebPartMovingEventArgs.cs
- ExceptionCollection.cs
- HtmlLink.cs
- UdpTransportSettingsElement.cs
- TextShapeableCharacters.cs
- _HeaderInfo.cs
- FixedElement.cs
- EditBehavior.cs
- ThreadStartException.cs
- SqlDelegatedTransaction.cs
- RegistryExceptionHelper.cs
- TreeNodeStyle.cs
- ParserHooks.cs
- EdmType.cs
- XamlDesignerSerializationManager.cs
- SerialReceived.cs
- AxisAngleRotation3D.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- OneOfTypeConst.cs
- ColorDialog.cs
- QueryRewriter.cs
- ListViewGroupItemCollection.cs
- TemplateXamlTreeBuilder.cs
- QuaternionConverter.cs
- VBIdentifierTrimConverter.cs
- GcSettings.cs
- TextTreeTextElementNode.cs
- Privilege.cs
- XPathNavigator.cs
- CodeDelegateInvokeExpression.cs
- EntryWrittenEventArgs.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ContentPosition.cs
- HijriCalendar.cs
- XmlDesignerDataSourceView.cs
- ClassImporter.cs
- TypeConverterHelper.cs
- QueryActivatableWorkflowsCommand.cs