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
- ControlsConfig.cs
- PtsHost.cs
- SortDescriptionCollection.cs
- LeftCellWrapper.cs
- WindowsListBox.cs
- XmlUTF8TextWriter.cs
- AutoGeneratedFieldProperties.cs
- ThrowHelper.cs
- NotSupportedException.cs
- DbProviderFactory.cs
- ColorDialog.cs
- InlinedAggregationOperator.cs
- WebUtil.cs
- Range.cs
- GridViewSortEventArgs.cs
- InlineUIContainer.cs
- SqlClientPermission.cs
- DataGridViewHitTestInfo.cs
- ScriptModule.cs
- MachineKeyConverter.cs
- ScrollProperties.cs
- Geometry.cs
- ClientScriptManagerWrapper.cs
- AssemblyBuilder.cs
- SearchForVirtualItemEventArgs.cs
- DynamicPropertyHolder.cs
- Interlocked.cs
- RewritingProcessor.cs
- Enlistment.cs
- RawKeyboardInputReport.cs
- _RequestCacheProtocol.cs
- JournalEntryStack.cs
- PreservationFileReader.cs
- ImageListUtils.cs
- Component.cs
- UdpAnnouncementEndpoint.cs
- CallbackHandler.cs
- ReadContentAsBinaryHelper.cs
- XPathExpr.cs
- WorkflowClientDeliverMessageWrapper.cs
- ProfileSettingsCollection.cs
- UnsafeNativeMethods.cs
- CriticalFinalizerObject.cs
- DummyDataSource.cs
- MatrixTransform3D.cs
- BaseTransportHeaders.cs
- SqlCachedBuffer.cs
- StaticSiteMapProvider.cs
- NameValueFileSectionHandler.cs
- DesignerCategoryAttribute.cs
- MinimizableAttributeTypeConverter.cs
- CodeTypeParameter.cs
- CryptoConfig.cs
- DrawingCollection.cs
- GridViewColumnCollectionChangedEventArgs.cs
- WebPartConnectionCollection.cs
- ResXFileRef.cs
- CategoryGridEntry.cs
- NativeMethods.cs
- ConfigUtil.cs
- IdentityReference.cs
- Vector3DCollection.cs
- TableItemStyle.cs
- ProviderSettingsCollection.cs
- RealProxy.cs
- RemoteWebConfigurationHostStream.cs
- VerificationAttribute.cs
- Listbox.cs
- PipeException.cs
- XmlILOptimizerVisitor.cs
- GenericEnumConverter.cs
- SoapEnumAttribute.cs
- SchemaInfo.cs
- ResourceManager.cs
- PathNode.cs
- RegularExpressionValidator.cs
- ScaleTransform3D.cs
- SafeEventLogWriteHandle.cs
- hebrewshape.cs
- DrawingGroup.cs
- XmlAggregates.cs
- HttpFileCollection.cs
- DataServiceRequestOfT.cs
- HtmlTable.cs
- ContractMapping.cs
- FilterFactory.cs
- RequestCache.cs
- AmbientLight.cs
- DocumentAutomationPeer.cs
- HttpBindingExtension.cs
- ControlParameter.cs
- HtmlTableCellCollection.cs
- Overlapped.cs
- CopyOnWriteList.cs
- SqlParameter.cs
- XmlDesignerDataSourceView.cs
- WorkflowMessageEventArgs.cs
- ProfileBuildProvider.cs
- SEHException.cs
- WorkflowRuntimeServiceElement.cs