Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ToolStripSystemRenderer.cs
- ParallelQuery.cs
- TypeDescriptionProvider.cs
- WebContext.cs
- XmlSchemaExporter.cs
- DataList.cs
- ThreadStartException.cs
- OracleNumber.cs
- LinqDataSourceUpdateEventArgs.cs
- BindableTemplateBuilder.cs
- ExpressionBindingCollection.cs
- XmlChoiceIdentifierAttribute.cs
- ClientConvert.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- EndpointConfigContainer.cs
- BmpBitmapDecoder.cs
- CompiledRegexRunner.cs
- RuleSetDialog.Designer.cs
- Translator.cs
- BulletDecorator.cs
- DoubleCollection.cs
- ThreadStaticAttribute.cs
- ProfileBuildProvider.cs
- ClientSettingsProvider.cs
- GraphicsContainer.cs
- XmlILIndex.cs
- Utils.cs
- ApplicationId.cs
- ModifierKeysValueSerializer.cs
- TextModifier.cs
- SafeSystemMetrics.cs
- AssemblyAttributesGoHere.cs
- OleAutBinder.cs
- QueryCursorEventArgs.cs
- FaultDescriptionCollection.cs
- SpeechAudioFormatInfo.cs
- InputLanguageCollection.cs
- RSAPKCS1SignatureDeformatter.cs
- ReferenceEqualityComparer.cs
- TextRenderer.cs
- SoapIncludeAttribute.cs
- NamespaceDisplayAutomationPeer.cs
- TimeoutTimer.cs
- EmptyReadOnlyDictionaryInternal.cs
- DebugHandleTracker.cs
- Range.cs
- SiteMapDataSource.cs
- SQLInt32.cs
- ModuleBuilderData.cs
- PerformanceCounterPermission.cs
- WebSysDescriptionAttribute.cs
- ServiceBusyException.cs
- DebugView.cs
- TextEffect.cs
- DiagnosticSection.cs
- TimeEnumHelper.cs
- IsolatedStorageFile.cs
- HandlerWithFactory.cs
- EventLogConfiguration.cs
- HtmlTextBoxAdapter.cs
- Object.cs
- StreamInfo.cs
- PipelineModuleStepContainer.cs
- XmlCodeExporter.cs
- QueryAccessibilityHelpEvent.cs
- EmbossBitmapEffect.cs
- DeflateStream.cs
- StrongNameUtility.cs
- XPathNodeIterator.cs
- BlurBitmapEffect.cs
- MailDefinition.cs
- DataBindEngine.cs
- configsystem.cs
- DuplicateWaitObjectException.cs
- DataGridColumnHeaderCollection.cs
- PTConverter.cs
- SoapTypeAttribute.cs
- OrCondition.cs
- TypeCodeDomSerializer.cs
- Timeline.cs
- StringFreezingAttribute.cs
- ChangeBlockUndoRecord.cs
- HebrewNumber.cs
- DirectoryRootQuery.cs
- TextFormatter.cs
- BlockCollection.cs
- FocusTracker.cs
- ProtocolException.cs
- EntityModelBuildProvider.cs
- ProgressPage.cs
- ControlCollection.cs
- FileIOPermission.cs
- MatrixConverter.cs
- DataMisalignedException.cs
- TreeViewImageIndexConverter.cs
- IdentityNotMappedException.cs
- TrackBarDesigner.cs
- AssemblyFilter.cs
- CodeEventReferenceExpression.cs
- EntitySqlException.cs