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
- DocumentViewerBase.cs
- DataGridHeaderBorder.cs
- SchemaInfo.cs
- DocComment.cs
- HttpApplication.cs
- AppSettingsReader.cs
- DataGridViewCellMouseEventArgs.cs
- MarkupExtensionParser.cs
- InlinedLocationReference.cs
- BindableTemplateBuilder.cs
- RangeContentEnumerator.cs
- SQLDateTime.cs
- SystemEvents.cs
- NativeWindow.cs
- BamlMapTable.cs
- SapiGrammar.cs
- ColumnClickEvent.cs
- RadioButtonList.cs
- NavigateEvent.cs
- CompoundFileStreamReference.cs
- CompatibleIComparer.cs
- UIElement.cs
- ListSourceHelper.cs
- SapiGrammar.cs
- ResetableIterator.cs
- WebPartConnectionsConnectVerb.cs
- ColumnBinding.cs
- UIElementPropertyUndoUnit.cs
- DocumentPageView.cs
- QuerySetOp.cs
- MetabaseServerConfig.cs
- AuthenticationServiceManager.cs
- CharacterBufferReference.cs
- XmlHierarchyData.cs
- BitmapMetadataEnumerator.cs
- RadioButtonAutomationPeer.cs
- SizeAnimationUsingKeyFrames.cs
- WarningException.cs
- XmlByteStreamWriter.cs
- DrawListViewItemEventArgs.cs
- ActionFrame.cs
- SafeEventLogWriteHandle.cs
- FixedDocumentPaginator.cs
- RecommendedAsConfigurableAttribute.cs
- ImmComposition.cs
- WindowClosedEventArgs.cs
- TimerEventSubscription.cs
- DocumentSequenceHighlightLayer.cs
- CheckBox.cs
- XamlToRtfParser.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SQLBoolean.cs
- AssertValidation.cs
- DesignerValidationSummaryAdapter.cs
- SynchronizedDispatch.cs
- ServiceEndpointElement.cs
- ToggleButton.cs
- IntellisenseTextBox.cs
- XslCompiledTransform.cs
- UrlAuthorizationModule.cs
- FontUnitConverter.cs
- HttpListener.cs
- CopyAttributesAction.cs
- LocalizableResourceBuilder.cs
- shaperfactoryquerycachekey.cs
- AuthenticationModuleElementCollection.cs
- OdbcTransaction.cs
- TableLayoutPanelCodeDomSerializer.cs
- SurrogateEncoder.cs
- IndentTextWriter.cs
- MetadataItemEmitter.cs
- ScriptRegistrationManager.cs
- CanonicalXml.cs
- ToolBarButtonClickEvent.cs
- Input.cs
- WindowsGrip.cs
- ImageDesigner.cs
- RtType.cs
- PageSetupDialog.cs
- UpdatePanel.cs
- ASCIIEncoding.cs
- CachedResourceDictionaryExtension.cs
- EncryptedXml.cs
- ResourceExpression.cs
- SecuritySessionServerSettings.cs
- CodeRegionDirective.cs
- GuidelineSet.cs
- ReferencedAssembly.cs
- XMLSyntaxException.cs
- PeerPresenceInfo.cs
- BulletDecorator.cs
- TripleDES.cs
- NamedObject.cs
- PointUtil.cs
- XamlTypeMapper.cs
- MessageSecurityException.cs
- BindingMAnagerBase.cs
- PresentationSource.cs
- HttpCookiesSection.cs
- MouseEventArgs.cs