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
- ListViewItem.cs
- DocumentOrderQuery.cs
- BidOverLoads.cs
- SettingsPropertyValue.cs
- ClientConvert.cs
- Accessors.cs
- ProcessHostServerConfig.cs
- QueryPageSettingsEventArgs.cs
- ZipIOCentralDirectoryBlock.cs
- CatchBlock.cs
- unsafenativemethodsother.cs
- NotCondition.cs
- ChangeBlockUndoRecord.cs
- BaseProcessProtocolHandler.cs
- ListView.cs
- IIS7UserPrincipal.cs
- PrintingPermission.cs
- NativeCppClassAttribute.cs
- BitmapFrame.cs
- ListViewItemCollectionEditor.cs
- ResponseStream.cs
- XsdDuration.cs
- Vector3DCollection.cs
- TextEndOfLine.cs
- GACIdentityPermission.cs
- ComponentEvent.cs
- SQLGuidStorage.cs
- SystemResourceHost.cs
- ExpressionBuilder.cs
- HyperLinkColumn.cs
- DesignerUtils.cs
- StatusBarPanel.cs
- FontWeightConverter.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- UIntPtr.cs
- PageScaling.cs
- GlobalEventManager.cs
- ApplicationManager.cs
- ColorAnimationUsingKeyFrames.cs
- TimeoutException.cs
- SspiNegotiationTokenAuthenticatorState.cs
- Partitioner.cs
- WindowsAuthenticationEventArgs.cs
- BoundColumn.cs
- XmlSchemaSimpleContentExtension.cs
- _NegotiateClient.cs
- CodeGotoStatement.cs
- xmlglyphRunInfo.cs
- IntSecurity.cs
- SqlDataSourceEnumerator.cs
- RawMouseInputReport.cs
- KnownAssemblyEntry.cs
- HttpInputStream.cs
- UrlMappingsModule.cs
- altserialization.cs
- ConfigXmlText.cs
- RouteUrlExpressionBuilder.cs
- _Win32.cs
- _OSSOCK.cs
- InternalCache.cs
- HttpHeaderCollection.cs
- QilUnary.cs
- DateTimeOffsetStorage.cs
- BitVector32.cs
- ColorAnimationBase.cs
- DayRenderEvent.cs
- CustomCategoryAttribute.cs
- Control.cs
- ControlCodeDomSerializer.cs
- TraceUtility.cs
- MetadataCacheItem.cs
- WebHeaderCollection.cs
- sqlnorm.cs
- GeneratedCodeAttribute.cs
- InvalidOleVariantTypeException.cs
- ObjectAnimationBase.cs
- UserMapPath.cs
- HttpCachePolicy.cs
- WindowsTreeView.cs
- SectionRecord.cs
- MiniParameterInfo.cs
- DesignerSerializerAttribute.cs
- PropertyRecord.cs
- StorageEntityTypeMapping.cs
- PartialArray.cs
- ObjectIDGenerator.cs
- CodeGroup.cs
- ScriptingRoleServiceSection.cs
- ScriptControlManager.cs
- DurationConverter.cs
- HwndStylusInputProvider.cs
- TextEditorMouse.cs
- DataGridViewLayoutData.cs
- ToolStripKeyboardHandlingService.cs
- ToolStripOverflow.cs
- listviewsubitemcollectioneditor.cs
- DataGridViewTopLeftHeaderCell.cs
- _NegoStream.cs
- BufferedWebEventProvider.cs
- HttpListenerException.cs