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
- Inline.cs
- XmlSerializableReader.cs
- SyncOperationState.cs
- ApplicationHost.cs
- ContainerAction.cs
- ListSourceHelper.cs
- AssemblyCacheEntry.cs
- XPathConvert.cs
- GridViewRowPresenterBase.cs
- VirtualPath.cs
- MobileListItem.cs
- WindowsScroll.cs
- TranslateTransform.cs
- IndependentlyAnimatedPropertyMetadata.cs
- Region.cs
- PagedDataSource.cs
- SettingsProperty.cs
- HashMembershipCondition.cs
- NameValueFileSectionHandler.cs
- CompressEmulationStream.cs
- XmlEncodedRawTextWriter.cs
- VisualTarget.cs
- EdmType.cs
- EntityViewContainer.cs
- PassportIdentity.cs
- Model3DGroup.cs
- PixelFormatConverter.cs
- QilPatternFactory.cs
- XmlNamespaceDeclarationsAttribute.cs
- PageContentCollection.cs
- PropertyChangedEventArgs.cs
- WmlFormAdapter.cs
- XmlQuerySequence.cs
- RNGCryptoServiceProvider.cs
- ObjectViewListener.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- DisplayNameAttribute.cs
- ContentIterators.cs
- UInt32Storage.cs
- DataGridViewHitTestInfo.cs
- FileUpload.cs
- BaseInfoTable.cs
- RolePrincipal.cs
- RectangleHotSpot.cs
- NameValuePermission.cs
- PropertyToken.cs
- BooleanToVisibilityConverter.cs
- PolyLineSegment.cs
- ScriptResourceAttribute.cs
- httpstaticobjectscollection.cs
- PermissionToken.cs
- DeclarativeCatalogPart.cs
- QueryResponse.cs
- SoundPlayerAction.cs
- PermissionListSet.cs
- DbConnectionPoolCounters.cs
- ComponentChangedEvent.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- WebPartAuthorizationEventArgs.cs
- DebugView.cs
- AppSecurityManager.cs
- SqlFileStream.cs
- CanExecuteRoutedEventArgs.cs
- TableItemStyle.cs
- BStrWrapper.cs
- IndexingContentUnit.cs
- StringExpressionSet.cs
- SqlConnectionStringBuilder.cs
- UniqueSet.cs
- WebServicesSection.cs
- AmbientProperties.cs
- QuotedStringWriteStateInfo.cs
- Parsers.cs
- DependsOnAttribute.cs
- CalendarBlackoutDatesCollection.cs
- RegexGroupCollection.cs
- RuleConditionDialog.cs
- DockProviderWrapper.cs
- SerTrace.cs
- CodeThrowExceptionStatement.cs
- XpsFilter.cs
- recordstate.cs
- StatusBar.cs
- HashCodeCombiner.cs
- FlatButtonAppearance.cs
- RegexStringValidator.cs
- DataObjectCopyingEventArgs.cs
- Match.cs
- MultiView.cs
- DecimalAnimation.cs
- PageThemeBuildProvider.cs
- UxThemeWrapper.cs
- ReaderOutput.cs
- NestPullup.cs
- AutomationElement.cs
- BamlRecordReader.cs
- Version.cs
- StateItem.cs
- ApplicationFileCodeDomTreeGenerator.cs
- QuerySettings.cs