Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / TemplateBindingExtensionConverter.cs / 1305600 / TemplateBindingExtensionConverter.cs
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2005
//
// File: ElementItem.cs
//
// Contents: Implements a converter to an instance descriptor for
// TemplateBindingExtension
//
// Created: 04/28/2005 [....]
//
//-----------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Windows;
using System.Security;
namespace System.Windows
{
///
/// Type converter to inform the serialization system how to construct a TemplateBindingExtension from
/// an instance. It reports that Property should be used as the first parameter to the constructor.
///
public class TemplateBindingExtensionConverter : TypeConverter
{
///
/// Returns true if converting to an InstanceDescriptor
///
///
///
///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
return true;
}
return base.CanConvertTo(context, destinationType);
}
///
/// Converts to an InstanceDescriptor
///
///
/// Critical: calls InstanceDescriptor ctor which LinkDemands
/// PublicOK: can only make an InstanceDescriptor for TemplateBindingExtension, not an arbitrary class
///
[SecurityCritical]
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
if(value == null)
throw new ArgumentNullException("value");
TemplateBindingExtension templateBinding = value as TemplateBindingExtension;
if(templateBinding == null)
throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "TemplateBindingExtension"), "value");
return new InstanceDescriptor(typeof(TemplateBindingExtension).GetConstructor(new Type[] { typeof(DependencyProperty) }),
new object[] { templateBinding.Property });
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2005
//
// File: ElementItem.cs
//
// Contents: Implements a converter to an instance descriptor for
// TemplateBindingExtension
//
// Created: 04/28/2005 [....]
//
//-----------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Windows;
using System.Security;
namespace System.Windows
{
///
/// Type converter to inform the serialization system how to construct a TemplateBindingExtension from
/// an instance. It reports that Property should be used as the first parameter to the constructor.
///
public class TemplateBindingExtensionConverter : TypeConverter
{
///
/// Returns true if converting to an InstanceDescriptor
///
///
///
///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
return true;
}
return base.CanConvertTo(context, destinationType);
}
///
/// Converts to an InstanceDescriptor
///
///
/// Critical: calls InstanceDescriptor ctor which LinkDemands
/// PublicOK: can only make an InstanceDescriptor for TemplateBindingExtension, not an arbitrary class
///
[SecurityCritical]
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
if(value == null)
throw new ArgumentNullException("value");
TemplateBindingExtension templateBinding = value as TemplateBindingExtension;
if(templateBinding == null)
throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "TemplateBindingExtension"), "value");
return new InstanceDescriptor(typeof(TemplateBindingExtension).GetConstructor(new Type[] { typeof(DependencyProperty) }),
new object[] { templateBinding.Property });
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// 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
- DrawingContextWalker.cs
- ProxyWebPart.cs
- TextBoxLine.cs
- CodeMemberProperty.cs
- DbQueryCommandTree.cs
- EntitySetDataBindingList.cs
- PostBackOptions.cs
- SqlClientPermission.cs
- TokenBasedSet.cs
- FontStretches.cs
- Hashtable.cs
- AssemblyEvidenceFactory.cs
- UserInitiatedNavigationPermission.cs
- BitmapPalette.cs
- MimeAnyImporter.cs
- QuotedStringFormatReader.cs
- InternalConfigEventArgs.cs
- SqlServices.cs
- SessionParameter.cs
- DataGrid.cs
- TransactionWaitAsyncResult.cs
- UdpTransportSettings.cs
- _OverlappedAsyncResult.cs
- BinaryCommonClasses.cs
- CurrencyManager.cs
- PropertyNames.cs
- shaperfactoryquerycachekey.cs
- TraceHandlerErrorFormatter.cs
- EntitySetRetriever.cs
- AuthenticationManager.cs
- AutomationAttributeInfo.cs
- SurrogateEncoder.cs
- ExpressionBuilderCollection.cs
- PermissionSetEnumerator.cs
- FormViewDeleteEventArgs.cs
- BlurEffect.cs
- SectionInput.cs
- XmlUtf8RawTextWriter.cs
- DataServiceRequestException.cs
- UserControlAutomationPeer.cs
- AttachedPropertyBrowsableAttribute.cs
- SplayTreeNode.cs
- HttpCapabilitiesEvaluator.cs
- ModelUIElement3D.cs
- FixedSOMTableCell.cs
- dsa.cs
- IssuedTokenParametersElement.cs
- Transform3DGroup.cs
- XmlSchemaExporter.cs
- TransformedBitmap.cs
- PublisherMembershipCondition.cs
- ByteStream.cs
- DeleteMemberBinder.cs
- ScrollPatternIdentifiers.cs
- AssociationEndMember.cs
- IdentityHolder.cs
- ControlBuilderAttribute.cs
- DataGridParentRows.cs
- TempFiles.cs
- SystemIPGlobalProperties.cs
- Int32EqualityComparer.cs
- MultiBinding.cs
- ResourceSet.cs
- ProgressBarBrushConverter.cs
- EntityWithChangeTrackerStrategy.cs
- Lease.cs
- CellTreeNode.cs
- NonVisualControlAttribute.cs
- WebPartDisplayModeCollection.cs
- Misc.cs
- PropertyOrder.cs
- ParameterElementCollection.cs
- FamilyCollection.cs
- DataGridViewButtonCell.cs
- Odbc32.cs
- Geometry.cs
- CodeTypeParameter.cs
- StyleXamlParser.cs
- ConditionalAttribute.cs
- EventWaitHandleSecurity.cs
- DataFieldConverter.cs
- EntityDataSourceWrapper.cs
- CharEntityEncoderFallback.cs
- CodeMethodInvokeExpression.cs
- DoWorkEventArgs.cs
- OneWayBindingElement.cs
- SessionPageStatePersister.cs
- KernelTypeValidation.cs
- CompilerParameters.cs
- TrustManagerPromptUI.cs
- _NativeSSPI.cs
- SortQuery.cs
- DatasetMethodGenerator.cs
- XmlIlGenerator.cs
- ValidationErrorEventArgs.cs
- IdnElement.cs
- ChangeTracker.cs
- MgmtResManager.cs
- StrongNamePublicKeyBlob.cs
- hwndwrapper.cs