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
- SiteMapSection.cs
- Suspend.cs
- ChangeConflicts.cs
- DrawingVisualDrawingContext.cs
- ExpandSegmentCollection.cs
- SQLResource.cs
- SafeNativeMethods.cs
- SqlCommandSet.cs
- LineBreakRecord.cs
- SqlDataSourceConfigureSelectPanel.cs
- TextParagraph.cs
- DataPagerFieldItem.cs
- ECDiffieHellmanPublicKey.cs
- XPathAncestorQuery.cs
- SharedStream.cs
- ContextStack.cs
- BinaryCommonClasses.cs
- WeakReference.cs
- InfocardInteractiveChannelInitializer.cs
- ReferencedAssembly.cs
- LOSFormatter.cs
- StringKeyFrameCollection.cs
- EventSourceCreationData.cs
- LocalServiceSecuritySettingsElement.cs
- WindowPatternIdentifiers.cs
- Menu.cs
- ExpressionBindingCollection.cs
- ValidationHelper.cs
- BufferedOutputStream.cs
- SerializationFieldInfo.cs
- AuthenticatingEventArgs.cs
- ApplicationDirectory.cs
- UshortList2.cs
- RequestCache.cs
- DynamicDocumentPaginator.cs
- EncoderNLS.cs
- XmlNodeList.cs
- WebPartCatalogCloseVerb.cs
- EditorZoneDesigner.cs
- Rect3DConverter.cs
- TextHintingModeValidation.cs
- Configuration.cs
- TextEncodedRawTextWriter.cs
- HttpCookie.cs
- CompiledRegexRunnerFactory.cs
- ResXBuildProvider.cs
- TagPrefixCollection.cs
- ScriptIgnoreAttribute.cs
- ResourceContainer.cs
- ToolStrip.cs
- DataSourceCacheDurationConverter.cs
- SamlDoNotCacheCondition.cs
- ProcessModelInfo.cs
- BasicDesignerLoader.cs
- HMACSHA384.cs
- oledbconnectionstring.cs
- XmlSubtreeReader.cs
- OdbcConnectionPoolProviderInfo.cs
- ToolStripDropDownClosedEventArgs.cs
- RootAction.cs
- CfgArc.cs
- WebPartConnectionsConnectVerb.cs
- StyleSelector.cs
- InputBindingCollection.cs
- MessageDispatch.cs
- CellQuery.cs
- XamlWrappingReader.cs
- CustomValidator.cs
- SmiEventSink_Default.cs
- BufferModeSettings.cs
- OdbcConnectionString.cs
- CmsUtils.cs
- TextMarkerSource.cs
- IItemContainerGenerator.cs
- X509SecurityToken.cs
- wgx_render.cs
- HtmlInputCheckBox.cs
- DataGridViewRowsRemovedEventArgs.cs
- X509Chain.cs
- NameSpaceExtractor.cs
- BatchServiceHost.cs
- HostedHttpContext.cs
- StringBuilder.cs
- WindowsFormsSynchronizationContext.cs
- TreeNodeCollection.cs
- ZipIOLocalFileBlock.cs
- CursorEditor.cs
- NotImplementedException.cs
- SymbolDocumentGenerator.cs
- Dynamic.cs
- SqlXml.cs
- SpotLight.cs
- RIPEMD160.cs
- StretchValidation.cs
- RayMeshGeometry3DHitTestResult.cs
- TypeResolver.cs
- DataContractSerializerElement.cs
- StaticResourceExtension.cs
- ButtonPopupAdapter.cs
- HtmlControl.cs