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
- ZipIOCentralDirectoryDigitalSignature.cs
- ResourceWriter.cs
- ElementProxy.cs
- StackSpiller.Generated.cs
- DiagnosticsConfiguration.cs
- X509CertificateClaimSet.cs
- FlowDocumentReader.cs
- Selection.cs
- PeerContact.cs
- SplitterCancelEvent.cs
- HttpHandlersSection.cs
- returneventsaver.cs
- SlipBehavior.cs
- MetadataItemEmitter.cs
- EditorZone.cs
- PagePropertiesChangingEventArgs.cs
- Italic.cs
- DescendantOverDescendantQuery.cs
- UnmanagedBitmapWrapper.cs
- RelationshipEndCollection.cs
- DbDataRecord.cs
- SizeConverter.cs
- ThicknessConverter.cs
- AuthorizationBehavior.cs
- AddInSegmentDirectoryNotFoundException.cs
- TiffBitmapEncoder.cs
- TreeNodeMouseHoverEvent.cs
- EventLogReader.cs
- DirectoryNotFoundException.cs
- DbConnectionPoolCounters.cs
- SubclassTypeValidatorAttribute.cs
- HyperLink.cs
- ImageSourceValueSerializer.cs
- XmlSchemaGroup.cs
- HttpProfileBase.cs
- MessageSecurityTokenVersion.cs
- PathGradientBrush.cs
- DomNameTable.cs
- UIPermission.cs
- FolderBrowserDialog.cs
- Underline.cs
- DetailsViewPagerRow.cs
- BitArray.cs
- DirectoryRootQuery.cs
- ClientScriptManagerWrapper.cs
- ScriptIgnoreAttribute.cs
- DataObjectMethodAttribute.cs
- MouseButtonEventArgs.cs
- PropVariant.cs
- Mapping.cs
- Span.cs
- HandleRef.cs
- RawStylusInput.cs
- RequiredFieldValidator.cs
- CodeMethodInvokeExpression.cs
- TextOnlyOutput.cs
- CustomWebEventKey.cs
- EmulateRecognizeCompletedEventArgs.cs
- nulltextnavigator.cs
- SslStream.cs
- WebPartMinimizeVerb.cs
- FontClient.cs
- ProviderSettings.cs
- _emptywebproxy.cs
- PropertyValueChangedEvent.cs
- MimeParameters.cs
- Mapping.cs
- MethodInfo.cs
- QueryableDataSource.cs
- DataObject.cs
- PermissionSetTriple.cs
- LinqDataSourceEditData.cs
- FormView.cs
- Converter.cs
- ListSortDescription.cs
- HttpListenerRequest.cs
- XmlSchemaGroup.cs
- ApplicationFileParser.cs
- CodeCastExpression.cs
- XmlAttributeProperties.cs
- Int16AnimationUsingKeyFrames.cs
- GeneralTransform.cs
- AnimationClockResource.cs
- DragEvent.cs
- CellTreeNodeVisitors.cs
- ListViewUpdatedEventArgs.cs
- UserPreferenceChangingEventArgs.cs
- WebPartZoneBase.cs
- DbParameterCollectionHelper.cs
- IERequestCache.cs
- M3DUtil.cs
- TableCellCollection.cs
- MediaSystem.cs
- XdrBuilder.cs
- ImageIndexConverter.cs
- MatrixTransform.cs
- InfoCardArgumentException.cs
- HtmlWindowCollection.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- Argument.cs