Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Core.Presentation / System / Activities / Presentation / TypeCollectionPropertyEditor.cs / 1407647 / TypeCollectionPropertyEditor.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Activities.Core.Presentation.Themes; using System.Activities.Presentation.Model; using System.Activities.Presentation.Converters; using System.Activities.Presentation.PropertyEditing; using System.Activities.Presentation.View; using System.Windows; using System.Runtime; using System.Collections.Generic; using System.Reflection; using System.Diagnostics.CodeAnalysis; using System.ComponentModel; using System.Collections; sealed class TypeCollectionPropertyEditor : DialogPropertyValueEditor { public const string AllowDuplicate = "AllowDuplicate"; public TypeCollectionPropertyEditor() { this.InlineEditorTemplate = EditorCategoryTemplateDictionary.Instance.GetCategoryTemplate("TypeCollection_InlineTemplate"); } public override void ShowDialog(PropertyValue propertyValue, IInputElement commandSource) { ModelPropertyEntryToOwnerActivityConverter propertyEntryConverter = new ModelPropertyEntryToOwnerActivityConverter(); ModelItem activityModelItem = (ModelItem)propertyEntryConverter.Convert(propertyValue.ParentProperty, typeof(ModelItem), false, null); ModelItem parentModelItem = (ModelItem)propertyEntryConverter.Convert(propertyValue.ParentProperty, typeof(ModelItem), true, null); EditingContext context = ((IModelTreeItem)activityModelItem).ModelTreeManager.Context; ModelItemCollection inputData = parentModelItem.Properties[propertyValue.ParentProperty.PropertyName].Collection; IEnumerablerawInputData = inputData.GetCurrentValue() as IEnumerable ; Fx.Assert(rawInputData != null, "rawInputData is null or is not IEnumerable ."); ModelProperty editingProperty = activityModelItem.Properties[propertyValue.ParentProperty.PropertyName]; bool allowDuplication = EditorOptionsAttribute.GetOptionValue(editingProperty.Attributes, TypeCollectionPropertyEditor.AllowDuplicate, true); EditorWindow editorWindow = new EditorWindow(activityModelItem, rawInputData, context, activityModelItem.View, allowDuplication); if (editorWindow.ShowOkCancel()) { using (var commitEditingScope = inputData.BeginEdit(System.Activities.Core.Presentation.SR.ChangeTypeCollectionEditingScopeDesc)) { inputData.Clear(); foreach (Type i in ((TypeCollectionDesigner)editorWindow.Content).UpdatedTypeCollection) { inputData.Add(i); } commitEditingScope.Complete(); } } } sealed class EditorWindow : WorkflowElementDialog { public EditorWindow(ModelItem activity, IEnumerable data, EditingContext context, DependencyObject owner, bool allowDuplicate) { this.ModelItem = activity; this.Context = context; this.Owner = owner; this.EnableMaximizeButton = false; this.EnableMinimizeButton = false; this.MinWidth = 450; this.MinHeight = 260; this.WindowResizeMode = ResizeMode.CanResize; this.WindowSizeToContent = SizeToContent.Manual; TypeCollectionDesigner content = new TypeCollectionDesigner() { Context = context, InitialTypeCollection = data, AllowDuplicate = allowDuplicate, ParentDialog = this, }; this.Title = (string)content.Resources["controlTitle"]; this.Content = content; this.OnOk = content.OnOK; this.HelpKeyword = HelpKeywords.TypeCollectionEditor; } } } } // 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
- DependencyObjectType.cs
- PenThreadPool.cs
- CatalogZoneAutoFormat.cs
- ClientScriptItemCollection.cs
- ListViewItemEventArgs.cs
- AtomServiceDocumentSerializer.cs
- Atom10FormatterFactory.cs
- HwndTarget.cs
- GiveFeedbackEventArgs.cs
- SafeRightsManagementPubHandle.cs
- XmlSchemaParticle.cs
- SuppressIldasmAttribute.cs
- ResourceDefaultValueAttribute.cs
- SafeNativeMethods.cs
- BuildTopDownAttribute.cs
- ServiceModelReg.cs
- ToolStripItem.cs
- WizardStepBase.cs
- PageContent.cs
- TabletCollection.cs
- LabelLiteral.cs
- SoundPlayerAction.cs
- PageAdapter.cs
- PictureBox.cs
- HostingEnvironmentWrapper.cs
- wgx_sdk_version.cs
- Freezable.cs
- OSFeature.cs
- shaperfactoryquerycacheentry.cs
- ApplicationInfo.cs
- DesignerValidationSummaryAdapter.cs
- ReturnValue.cs
- MetadataArtifactLoaderCompositeFile.cs
- FormatterServices.cs
- ELinqQueryState.cs
- Cursor.cs
- DesignTimeParseData.cs
- UpdateException.cs
- bidPrivateBase.cs
- DataServices.cs
- JsonWriter.cs
- OutputCacheSettings.cs
- DataSourceIDConverter.cs
- AssociationSetMetadata.cs
- __Error.cs
- CodeCatchClause.cs
- _ShellExpression.cs
- DataBinding.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DispatcherExceptionFilterEventArgs.cs
- TimerTable.cs
- DiagnosticsConfigurationHandler.cs
- ComponentCommands.cs
- Table.cs
- GenericParameterDataContract.cs
- safelink.cs
- ComboBox.cs
- BinaryConverter.cs
- Button.cs
- PolicyValidator.cs
- BinaryUtilClasses.cs
- XmlDataCollection.cs
- _NegotiateClient.cs
- ListViewCancelEventArgs.cs
- DataSetFieldSchema.cs
- SchemaTypeEmitter.cs
- TableRow.cs
- odbcmetadatafactory.cs
- ObjectPersistData.cs
- EmbeddedMailObject.cs
- SafeThreadHandle.cs
- ConstructorExpr.cs
- ReadingWritingEntityEventArgs.cs
- ScaleTransform.cs
- SyndicationSerializer.cs
- BackoffTimeoutHelper.cs
- DataTableClearEvent.cs
- SingleStorage.cs
- HandleCollector.cs
- login.cs
- SqlReferenceCollection.cs
- ConnectionPoolRegistry.cs
- SizeFConverter.cs
- ComplusEndpointConfigContainer.cs
- PeerName.cs
- SystemFonts.cs
- ImageMap.cs
- AnnotationResourceChangedEventArgs.cs
- CompModHelpers.cs
- XmlSerializerSection.cs
- Base64Encoding.cs
- TreePrinter.cs
- DataPagerFieldCommandEventArgs.cs
- CodeThrowExceptionStatement.cs
- AsyncCompletedEventArgs.cs
- DataGridTextColumn.cs
- RegisteredArrayDeclaration.cs
- RelationshipEnd.cs
- localization.cs
- BitmapEffectInputData.cs