Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / TemplateBindingExtensionConverter.cs / 1 / 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
- NativeMethods.cs
- WebPartZoneCollection.cs
- BatchParser.cs
- ScriptingRoleServiceSection.cs
- KeyboardEventArgs.cs
- HtmlInputImage.cs
- CommandID.cs
- ButtonBase.cs
- DataBoundLiteralControl.cs
- TableItemStyle.cs
- IndentedWriter.cs
- ToolStripSplitButton.cs
- MDIControlStrip.cs
- HttpConfigurationSystem.cs
- serverconfig.cs
- EditorOptionAttribute.cs
- ProtocolsInstallComponent.cs
- AuthStoreRoleProvider.cs
- HttpGetProtocolReflector.cs
- IApplicationTrustManager.cs
- Padding.cs
- SpellerError.cs
- DynamicActionMessageFilter.cs
- AppDomainAttributes.cs
- FixedSOMGroup.cs
- WebServiceAttribute.cs
- _NativeSSPI.cs
- UnsafeNetInfoNativeMethods.cs
- TableCell.cs
- BuildResult.cs
- CancelEventArgs.cs
- MouseDevice.cs
- DeferredReference.cs
- UserMapPath.cs
- WebPartUserCapability.cs
- IsolatedStorageException.cs
- SettingsPropertyCollection.cs
- CryptoConfig.cs
- _ListenerAsyncResult.cs
- CharacterBuffer.cs
- ZipIORawDataFileBlock.cs
- PersianCalendar.cs
- DataRowView.cs
- InstanceKeyCompleteException.cs
- MessageProperties.cs
- WinFormsSecurity.cs
- GPPOINT.cs
- GraphicsPath.cs
- DataGridViewButtonCell.cs
- StyleXamlParser.cs
- SerializationFieldInfo.cs
- PolyLineSegment.cs
- DaylightTime.cs
- ToolStripLabel.cs
- BaseCAMarshaler.cs
- XmlSchemaSequence.cs
- AppearanceEditorPart.cs
- SelectionItemProviderWrapper.cs
- CheckBoxPopupAdapter.cs
- ToolStripScrollButton.cs
- GradientBrush.cs
- DataDocumentXPathNavigator.cs
- TemplateContainer.cs
- AsynchronousChannel.cs
- DefaultMemberAttribute.cs
- DataGridViewIntLinkedList.cs
- WorkflowTraceTransfer.cs
- ObjectIDGenerator.cs
- VersionedStream.cs
- TablePatternIdentifiers.cs
- DecimalFormatter.cs
- ToolStripItemDataObject.cs
- UnauthorizedWebPart.cs
- ControlAdapter.cs
- LinkUtilities.cs
- CurrencyWrapper.cs
- DataIdProcessor.cs
- ChannelBuilder.cs
- GroupItem.cs
- LingerOption.cs
- DrawingCollection.cs
- BitmapEffectDrawing.cs
- PropertyItem.cs
- RTLAwareMessageBox.cs
- WeakReferenceKey.cs
- DataSourceCache.cs
- WorkerRequest.cs
- Set.cs
- ObjectConverter.cs
- NamespaceDecl.cs
- DbRetry.cs
- CreateUserErrorEventArgs.cs
- ForeignConstraint.cs
- DataServiceRequestOfT.cs
- StorageInfo.cs
- RegexCapture.cs
- RichTextBoxConstants.cs
- ExpressionBindings.cs
- Int32EqualityComparer.cs
- JsonStringDataContract.cs