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
- WindowsGraphicsWrapper.cs
- SystemKeyConverter.cs
- SchemaMapping.cs
- SerializationFieldInfo.cs
- CurrentChangingEventArgs.cs
- HtmlHead.cs
- XmlQueryContext.cs
- HtmlWindowCollection.cs
- CodeStatement.cs
- XsltArgumentList.cs
- TraceHelpers.cs
- PhonemeConverter.cs
- SortableBindingList.cs
- ExtensibleSyndicationObject.cs
- PolyBezierSegment.cs
- CryptoHandle.cs
- XmlSchemaComplexContentExtension.cs
- Rule.cs
- AttachmentService.cs
- FileEnumerator.cs
- SiteIdentityPermission.cs
- RegistryDataKey.cs
- SettingsProviderCollection.cs
- SqlClientPermission.cs
- CompiledQuery.cs
- InkCanvasSelectionAdorner.cs
- TextElementEnumerator.cs
- MouseGestureValueSerializer.cs
- Label.cs
- ConfigXmlText.cs
- BufferCache.cs
- DynamicObjectAccessor.cs
- Delay.cs
- RectConverter.cs
- WinFormsUtils.cs
- ProvidersHelper.cs
- FileInfo.cs
- EventMappingSettingsCollection.cs
- DotAtomReader.cs
- SoapExtensionReflector.cs
- HasRunnableWorkflowEvent.cs
- DataGridItem.cs
- SqlFormatter.cs
- DictionarySectionHandler.cs
- FreezableOperations.cs
- EnumUnknown.cs
- HuffCodec.cs
- FontCacheUtil.cs
- ArrangedElementCollection.cs
- ToolStripRenderer.cs
- AnnotationComponentManager.cs
- UnitySerializationHolder.cs
- SqlCommand.cs
- BlockingCollection.cs
- CachedPathData.cs
- CompiledIdentityConstraint.cs
- DesignSurfaceEvent.cs
- RetrieveVirtualItemEventArgs.cs
- FormatVersion.cs
- EventBindingService.cs
- GrammarBuilderWildcard.cs
- DoubleStorage.cs
- TraceLog.cs
- RIPEMD160.cs
- DataGridViewToolTip.cs
- UIElement3DAutomationPeer.cs
- ObjectDataSourceDisposingEventArgs.cs
- SkinBuilder.cs
- AssemblySettingAttributes.cs
- RouteItem.cs
- XamlReaderHelper.cs
- loginstatus.cs
- MethodBuilder.cs
- HostedBindingBehavior.cs
- TimeSpanValidator.cs
- ToolStripItemTextRenderEventArgs.cs
- FileIOPermission.cs
- ChannelSinkStacks.cs
- ActivityAction.cs
- BlockCollection.cs
- CacheAxisQuery.cs
- SafeBitVector32.cs
- DataRelationPropertyDescriptor.cs
- Asn1IntegerConverter.cs
- BitmapMetadataBlob.cs
- XmlTextReaderImpl.cs
- DbConnectionOptions.cs
- Polygon.cs
- ToolStripItemDesigner.cs
- CdpEqualityComparer.cs
- Executor.cs
- SoapServerMethod.cs
- XmlILModule.cs
- EdmSchemaError.cs
- LiteralControl.cs
- TextDecorationLocationValidation.cs
- TripleDESCryptoServiceProvider.cs
- Localizer.cs
- HttpDictionary.cs
- Scene3D.cs