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
- columnmapkeybuilder.cs
- DataBoundControlAdapter.cs
- MsmqIntegrationInputChannel.cs
- ToolStripMenuItem.cs
- HwndProxyElementProvider.cs
- LogWriteRestartAreaAsyncResult.cs
- ClientScriptManager.cs
- Geometry3D.cs
- RuleSettingsCollection.cs
- SingleTagSectionHandler.cs
- ResourceAssociationSet.cs
- RichTextBoxAutomationPeer.cs
- documentsequencetextcontainer.cs
- SignatureDescription.cs
- RequestDescription.cs
- CustomTypeDescriptor.cs
- SqlVersion.cs
- WindowsAuthenticationEventArgs.cs
- OdbcCommand.cs
- NumberSubstitution.cs
- SqlRowUpdatingEvent.cs
- Random.cs
- TempEnvironment.cs
- UriParserTemplates.cs
- NodeLabelEditEvent.cs
- XmlSchemaInferenceException.cs
- PopupEventArgs.cs
- StorageEntitySetMapping.cs
- FlowDocumentPaginator.cs
- diagnosticsswitches.cs
- Expander.cs
- BackgroundWorker.cs
- RadioButtonBaseAdapter.cs
- HostSecurityManager.cs
- SpecialFolderEnumConverter.cs
- HwndSource.cs
- TouchPoint.cs
- MobileCategoryAttribute.cs
- ActivationService.cs
- NativeMethods.cs
- PublisherIdentityPermission.cs
- ObjectAnimationUsingKeyFrames.cs
- XmlILIndex.cs
- GradientSpreadMethodValidation.cs
- dbenumerator.cs
- Win32PrintDialog.cs
- EffectiveValueEntry.cs
- followingsibling.cs
- SafeMILHandle.cs
- Attributes.cs
- Command.cs
- WorkflowOwnershipException.cs
- DirectoryNotFoundException.cs
- WebMessageBodyStyleHelper.cs
- EnumerableCollectionView.cs
- Int64Storage.cs
- SimpleHandlerBuildProvider.cs
- HotCommands.cs
- MetadataCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- XpsFontSerializationService.cs
- BuildProvider.cs
- RegexNode.cs
- CodeIdentifiers.cs
- ConfigurationStrings.cs
- SQLGuidStorage.cs
- datacache.cs
- UpDownBase.cs
- DirectoryRedirect.cs
- EmulateRecognizeCompletedEventArgs.cs
- AdapterUtil.cs
- DBParameter.cs
- HtmlTextArea.cs
- DataControlLinkButton.cs
- OpenFileDialog.cs
- ColumnPropertiesGroup.cs
- EntityUtil.cs
- InternalControlCollection.cs
- InsufficientMemoryException.cs
- WhiteSpaceTrimStringConverter.cs
- ErrorFormatter.cs
- SimpleWebHandlerParser.cs
- OlePropertyStructs.cs
- TypeExtensions.cs
- ListDictionary.cs
- XslCompiledTransform.cs
- Msmq4SubqueuePoisonHandler.cs
- ResourceWriter.cs
- RegexStringValidator.cs
- VisualCollection.cs
- SystemIPv4InterfaceProperties.cs
- Reference.cs
- PathSegment.cs
- DataControlFieldHeaderCell.cs
- IndexingContentUnit.cs
- SectionUpdates.cs
- AssemblyNameProxy.cs
- TrustManagerPromptUI.cs
- PagerSettings.cs
- WebPartVerbsEventArgs.cs