Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Core.Presentation / System / Activities / Core / Presentation / InteropDesigner.xaml.cs / 1305376 / InteropDesigner.xaml.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Core.Presentation { using System.Activities.Statements; using System.ComponentModel; using System.Activities.Presentation.PropertyEditing; using System.Activities.Presentation; using System.Activities.Presentation.Metadata; using System.Windows.Threading; using System.Activities.Presentation.View; using System.IO; using System.Runtime; partial class InteropDesigner { static Funcfilter; public InteropDesigner() { this.InitializeComponent(); } public static Func Filter { get { if (InteropDesigner.filter == null) { // We will build tye Tyname for System.Workflow.ComponentModel.Activity string typeName = typeof(Activity).AssemblyQualifiedName; typeName = typeName.Replace("System.Activities", "System.Workflow.ComponentModel"); Type activityType = null; try { activityType = Type.GetType(typeName); } catch (System.Exception e) { if (Fx.IsFatal(e)) { throw; } activityType = null; } if (activityType != null) { //Interop.Body has to be a 3.5 Activity InteropDesigner.filter = (type) => activityType.IsAssignableFrom(type); } } return InteropDesigner.filter; } } protected override void OnModelItemChanged(object newItem) { base.OnModelItemChanged(newItem); this.ModelItem.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(OnModelItemPropertyChanged); } void OnModelItemPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "ActivityType") { //Whenever ActivityType property changes, the activity will generate a new set of // dynamic properties. the property browser will not pick up the changes till // we select some other modelitem and then select this back. // modelItem.root is theone that will be always available. this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, (Action)(() => { Selection.SelectOnly(this.Context, this.ModelItem.Root); })); this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, (Action)(() => { Selection.SelectOnly(this.Context, this.ModelItem); })); } } public static void RegisterMetadataDelayed() { WorkflowViewService.AddDelayedDesignerRegistration("System.Activities.Statements.Interop", () => { AttributeTableBuilder builder = new AttributeTableBuilder(); string typeName = typeof(InteropDesigner).AssemblyQualifiedName; typeName = typeName.Replace("System.Activities.Core.Presentation.InteropDesigner", "System.Activities.Statements.Interop"); typeName = typeName.Replace("System.Activities.Core.Presentation", "System.Workflow.Runtime"); Type activityType; try { activityType = Type.GetType(typeName); } catch (System.Exception e) { if (Fx.IsFatal(e)) { throw; } activityType = null; } //activityType will be null in ClientSKU since System.Workflow.Runtime.dll is not a part of clientSKU. if (activityType != null) { builder.AddCustomAttributes(activityType, new DesignerAttribute(typeof(InteropDesigner))); builder.AddCustomAttributes( activityType, "ActivityType", new EditorOptionsAttribute { Name = TypePropertyEditor.BrowseTypeDirectly, Value = true }); builder.AddCustomAttributes( activityType, "ActivityType", new EditorOptionsAttribute { Name = TypePropertyEditor.Filter, Value = Filter }); builder.AddCustomAttributes( activityType, "ActivityType", new RefreshPropertiesAttribute(RefreshProperties.All)); builder.AddCustomAttributes(activityType, new ActivityDesignerOptionsAttribute { AllowDrillIn = false }); MetadataStore.AddAttributeTable(builder.CreateTable()); } }); } } } // 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
- XmlDataImplementation.cs
- DBCSCodePageEncoding.cs
- DrawingContextWalker.cs
- WriteLineDesigner.xaml.cs
- IndicShape.cs
- TableCell.cs
- SoapTypeAttribute.cs
- ImageIndexConverter.cs
- TabControlCancelEvent.cs
- WsdlInspector.cs
- VBCodeProvider.cs
- WindowsListViewSubItem.cs
- DynamicValidator.cs
- mongolianshape.cs
- PagesChangedEventArgs.cs
- VariantWrapper.cs
- SQLByte.cs
- XamlGridLengthSerializer.cs
- DataServiceExpressionVisitor.cs
- AppModelKnownContentFactory.cs
- LinqDataSource.cs
- SizeLimitedCache.cs
- NonClientArea.cs
- DataBinding.cs
- DefaultBinder.cs
- WeakReadOnlyCollection.cs
- XmlSchemaIdentityConstraint.cs
- EmptyElement.cs
- HttpResponseHeader.cs
- PropertyRecord.cs
- LinkLabelLinkClickedEvent.cs
- XmlWrappingWriter.cs
- SqlRowUpdatingEvent.cs
- ShaperBuffers.cs
- EditorZoneAutoFormat.cs
- EventManager.cs
- CodeDefaultValueExpression.cs
- DropTarget.cs
- DocumentApplication.cs
- SqlXmlStorage.cs
- MemoryPressure.cs
- DataGridTemplateColumn.cs
- ConfigsHelper.cs
- DependencyObjectType.cs
- ScrollProviderWrapper.cs
- TreeViewItem.cs
- BitmapSource.cs
- StorageEntitySetMapping.cs
- EncodingTable.cs
- GenericXmlSecurityToken.cs
- XmlObjectSerializerContext.cs
- GlyphCache.cs
- AutomationPattern.cs
- IssuedTokenServiceCredential.cs
- QueryOutputWriter.cs
- WeakRefEnumerator.cs
- OneWayChannelListener.cs
- DataStreams.cs
- ConfigsHelper.cs
- ArrayElementGridEntry.cs
- JavaScriptObjectDeserializer.cs
- XmlSchemaExternal.cs
- BufferedGraphicsContext.cs
- MobileCategoryAttribute.cs
- HttpCachePolicyElement.cs
- PageCatalogPart.cs
- RadioButtonStandardAdapter.cs
- BinHexDecoder.cs
- DataIdProcessor.cs
- DataGridViewElement.cs
- NotSupportedException.cs
- PageThemeCodeDomTreeGenerator.cs
- AddressHeaderCollection.cs
- PostBackOptions.cs
- SoapCodeExporter.cs
- Variable.cs
- ImageMapEventArgs.cs
- StringTraceRecord.cs
- Transactions.cs
- TransportBindingElement.cs
- ToolStripGripRenderEventArgs.cs
- TextEncodedRawTextWriter.cs
- GlyphElement.cs
- ChooseAction.cs
- OleCmdHelper.cs
- PublisherMembershipCondition.cs
- XPathNode.cs
- WindowsScroll.cs
- Italic.cs
- AssociationTypeEmitter.cs
- AnnotationDocumentPaginator.cs
- TreeViewDesigner.cs
- MessageQueueAccessControlEntry.cs
- OuterGlowBitmapEffect.cs
- ErrorProvider.cs
- TextServicesProperty.cs
- CoreSwitches.cs
- ListSortDescriptionCollection.cs
- SafeRegistryHandle.cs
- OdbcInfoMessageEvent.cs