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
- RelationshipEndCollection.cs
- PlatformCulture.cs
- TraceSection.cs
- StoragePropertyMapping.cs
- WebPartCatalogAddVerb.cs
- WindowsStartMenu.cs
- ErrorEventArgs.cs
- UnionCodeGroup.cs
- BitmapCodecInfo.cs
- SqlDependencyUtils.cs
- HttpStreamMessage.cs
- WebAdminConfigurationHelper.cs
- ConnectivityStatus.cs
- HMACMD5.cs
- ConfigurationValidatorBase.cs
- CompositeScriptReference.cs
- InternalUserCancelledException.cs
- DependencySource.cs
- ConfigXmlComment.cs
- DbConnectionFactory.cs
- SHA256Managed.cs
- ListView.cs
- Schema.cs
- SendMailErrorEventArgs.cs
- AddInEnvironment.cs
- SimpleModelProvider.cs
- BuildManager.cs
- FixedTextBuilder.cs
- MiniAssembly.cs
- UdpMessageProperty.cs
- DataPagerFieldCommandEventArgs.cs
- ToolStripItemTextRenderEventArgs.cs
- CompiledELinqQueryState.cs
- IgnoreFileBuildProvider.cs
- SymmetricSecurityBindingElement.cs
- ActivityExecutionContext.cs
- XhtmlBasicLiteralTextAdapter.cs
- XsdBuilder.cs
- Model3D.cs
- RemotingService.cs
- Roles.cs
- SystemException.cs
- Rectangle.cs
- PropertyInformation.cs
- BlurEffect.cs
- RemotingConfiguration.cs
- GridViewUpdatedEventArgs.cs
- DummyDataSource.cs
- WebPartEventArgs.cs
- TextDocumentView.cs
- safex509handles.cs
- SmtpCommands.cs
- FixedSOMContainer.cs
- ProcessHostServerConfig.cs
- BodyGlyph.cs
- ClientTarget.cs
- LinearKeyFrames.cs
- ValidatorUtils.cs
- WorkItem.cs
- CodeTypeDeclaration.cs
- DesignerVerbCollection.cs
- Parameter.cs
- PartialTrustVisibleAssemblyCollection.cs
- ControlCachePolicy.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- TextElement.cs
- TrackBar.cs
- EnumerableRowCollection.cs
- FontSizeConverter.cs
- TextDecoration.cs
- XPathNode.cs
- PeerHopCountAttribute.cs
- EditingMode.cs
- ExportOptions.cs
- WorkItem.cs
- SplitterCancelEvent.cs
- _ProxyRegBlob.cs
- ApplicationContext.cs
- MulticastOption.cs
- FontDialog.cs
- ScriptBehaviorDescriptor.cs
- SiteMapNodeCollection.cs
- Odbc32.cs
- TemplateBuilder.cs
- HtmlEmptyTagControlBuilder.cs
- UxThemeWrapper.cs
- PolyLineSegment.cs
- MessageLogger.cs
- DesigntimeLicenseContext.cs
- GridViewRowEventArgs.cs
- PrinterResolution.cs
- DbException.cs
- DataObjectMethodAttribute.cs
- ParameterCollection.cs
- DataBoundControlHelper.cs
- MULTI_QI.cs
- OutputCacheSettings.cs
- UITypeEditors.cs
- WebPartEditorApplyVerb.cs
- OpCellTreeNode.cs