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
- GeneralTransform3DTo2D.cs
- Column.cs
- JpegBitmapEncoder.cs
- GPRECTF.cs
- Terminate.cs
- SqlStream.cs
- LinkArea.cs
- LogoValidationException.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- DummyDataSource.cs
- AsyncInvokeOperation.cs
- AppDomainUnloadedException.cs
- ContextBase.cs
- PbrsForward.cs
- TextTreeRootTextBlock.cs
- OutputScopeManager.cs
- TextBox.cs
- XMLSchema.cs
- EventItfInfo.cs
- FunctionParameter.cs
- ClientType.cs
- VirtualizedCellInfoCollection.cs
- XappLauncher.cs
- HotCommands.cs
- BuildProvider.cs
- Bidi.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SchemaImporter.cs
- CapabilitiesSection.cs
- InputDevice.cs
- SendingRequestEventArgs.cs
- BitmapEffectState.cs
- XmlCustomFormatter.cs
- PathGeometry.cs
- CompilationUtil.cs
- TraceSection.cs
- AnnouncementEndpoint.cs
- ReachSerializationUtils.cs
- MSG.cs
- HtmlElementEventArgs.cs
- activationcontext.cs
- SmiContext.cs
- Executor.cs
- FilteredXmlReader.cs
- Activator.cs
- InkCollectionBehavior.cs
- Permission.cs
- ImageAttributes.cs
- PersonalizationDictionary.cs
- XmlTextWriter.cs
- NameTable.cs
- TextTreeUndoUnit.cs
- COM2ExtendedTypeConverter.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- TreeViewDesigner.cs
- TimeEnumHelper.cs
- DataGridViewCheckBoxColumn.cs
- RenderData.cs
- BinaryFormatter.cs
- PaperSource.cs
- MessageEnumerator.cs
- MessageQueueAccessControlEntry.cs
- SqlDataSourceEnumerator.cs
- HtmlGenericControl.cs
- XPathPatternBuilder.cs
- Tool.cs
- ProfileSection.cs
- NavigateEvent.cs
- InvokePattern.cs
- EventHandlingScope.cs
- Int32Rect.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- FileDataSourceCache.cs
- ProfilePropertyNameValidator.cs
- ThrowHelper.cs
- EntityContainerEntitySet.cs
- ToolStripEditorManager.cs
- HostingEnvironmentException.cs
- CompressionTransform.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- IssuanceTokenProviderBase.cs
- BaseDataListDesigner.cs
- XsltArgumentList.cs
- ExtensionDataReader.cs
- WindowHelperService.cs
- Drawing.cs
- RepeaterItemCollection.cs
- DefaultPrintController.cs
- SurrogateSelector.cs
- SmiContextFactory.cs
- QuadraticBezierSegment.cs
- CommandValueSerializer.cs
- FilterElement.cs
- Point.cs
- XPathAncestorIterator.cs
- CssStyleCollection.cs
- WhitespaceRule.cs
- ConfigurationValue.cs
- UnmanagedMemoryStreamWrapper.cs
- MultiplexingDispatchMessageFormatter.cs