Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- SByteConverter.cs
- LabelLiteral.cs
- StrokeNodeOperations2.cs
- SharedUtils.cs
- ByteStreamGeometryContext.cs
- SudsWriter.cs
- NavigationProperty.cs
- DataGridClipboardCellContent.cs
- SamlNameIdentifierClaimResource.cs
- EntityDataSourceChangingEventArgs.cs
- BorderGapMaskConverter.cs
- AmbientEnvironment.cs
- DiagnosticsConfiguration.cs
- XPathNavigatorReader.cs
- WSDualHttpBindingElement.cs
- WizardDesigner.cs
- MasterPage.cs
- SuppressIldasmAttribute.cs
- _SingleItemRequestCache.cs
- OrthographicCamera.cs
- PropVariant.cs
- SystemKeyConverter.cs
- SiteMapNodeItemEventArgs.cs
- ModelService.cs
- SimplePropertyEntry.cs
- Parser.cs
- RadioButton.cs
- _ConnectionGroup.cs
- ObjectDataSourceFilteringEventArgs.cs
- UInt16Storage.cs
- EventLog.cs
- PartManifestEntry.cs
- IPHostEntry.cs
- EntitySqlQueryCacheKey.cs
- WindowsFont.cs
- StandardTransformFactory.cs
- SafeBitVector32.cs
- Enumerable.cs
- OwnerDrawPropertyBag.cs
- InvalidProgramException.cs
- RequestSecurityToken.cs
- ListItemConverter.cs
- TimerElapsedEvenArgs.cs
- HtmlEmptyTagControlBuilder.cs
- EnumDataContract.cs
- SvcMapFileSerializer.cs
- ProfileBuildProvider.cs
- CharacterBufferReference.cs
- AppSettingsExpressionEditor.cs
- BitmapEffect.cs
- WebPartVerbCollection.cs
- HybridWebProxyFinder.cs
- Compiler.cs
- SqlNotificationRequest.cs
- HttpChannelBindingToken.cs
- FilterInvalidBodyAccessException.cs
- WindowsHyperlink.cs
- XmlBinaryReader.cs
- TableLayoutSettings.cs
- DataComponentGenerator.cs
- DesignerHelpers.cs
- ButtonBaseAutomationPeer.cs
- StreamingContext.cs
- DataViewManagerListItemTypeDescriptor.cs
- ScriptingProfileServiceSection.cs
- WebHttpBinding.cs
- HotSpot.cs
- UInt32.cs
- BitSet.cs
- DataGridViewCheckBoxColumn.cs
- EncryptedXml.cs
- XmlSchemaComplexType.cs
- PerspectiveCamera.cs
- FontStretches.cs
- Vector3DAnimationUsingKeyFrames.cs
- ModuleBuilder.cs
- SchemaCollectionCompiler.cs
- TimeoutValidationAttribute.cs
- ExpiredSecurityTokenException.cs
- XmlExtensionFunction.cs
- StopRoutingHandler.cs
- VideoDrawing.cs
- XmlDownloadManager.cs
- BasicExpressionVisitor.cs
- SynchronizingStream.cs
- QilReference.cs
- BindingValueChangedEventArgs.cs
- HttpCookie.cs
- SymmetricAlgorithm.cs
- SpecialNameAttribute.cs
- TableHeaderCell.cs
- TabletCollection.cs
- AssemblyBuilder.cs
- MarkupObject.cs
- WindowClosedEventArgs.cs
- AstNode.cs
- DbDataSourceEnumerator.cs
- HttpClientCertificate.cs
- ResourcePart.cs
- XmlValidatingReader.cs