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
- QilTargetType.cs
- ClientRuntimeConfig.cs
- CapabilitiesAssignment.cs
- EventData.cs
- ContainerParagraph.cs
- Timer.cs
- DocumentXmlWriter.cs
- ScriptReferenceEventArgs.cs
- AnnotationResourceChangedEventArgs.cs
- TemplatedWizardStep.cs
- InfoCardMasterKey.cs
- PolyBezierSegment.cs
- ResourceDisplayNameAttribute.cs
- CalendarTable.cs
- MethodAccessException.cs
- GridEntry.cs
- TextElementEnumerator.cs
- OLEDB_Util.cs
- MachineKeyValidationConverter.cs
- DataGridItem.cs
- InvalidComObjectException.cs
- X509Certificate2.cs
- ComboBoxRenderer.cs
- ScriptModule.cs
- HtmlObjectListAdapter.cs
- TransactionsSectionGroup.cs
- PreviousTrackingServiceAttribute.cs
- ConfigXmlElement.cs
- xml.cs
- GifBitmapDecoder.cs
- DistinctQueryOperator.cs
- GacUtil.cs
- DownloadProgressEventArgs.cs
- HttpConfigurationContext.cs
- EventWaitHandle.cs
- ClientSponsor.cs
- BindingWorker.cs
- ConstraintStruct.cs
- XmlSchemaAny.cs
- MatrixStack.cs
- AnnotationObservableCollection.cs
- Pointer.cs
- ErrorRuntimeConfig.cs
- SendMailErrorEventArgs.cs
- VideoDrawing.cs
- DictionaryKeyPropertyAttribute.cs
- BitmapPalette.cs
- Light.cs
- OptimizedTemplateContent.cs
- SQLGuid.cs
- ColorTranslator.cs
- ADConnectionHelper.cs
- FormatVersion.cs
- DocumentViewerBase.cs
- ButtonStandardAdapter.cs
- ProfessionalColorTable.cs
- XmlChoiceIdentifierAttribute.cs
- StorageEntitySetMapping.cs
- XmlBaseWriter.cs
- StringExpressionSet.cs
- ConfigXmlText.cs
- XmlMtomWriter.cs
- SqlWorkflowPersistenceService.cs
- PersonalizationAdministration.cs
- ConfigurationValues.cs
- CapabilitiesPattern.cs
- SettingsAttributeDictionary.cs
- EtwTrace.cs
- serverconfig.cs
- View.cs
- SqlUdtInfo.cs
- AddInEnvironment.cs
- Fonts.cs
- FileSystemInfo.cs
- ConfigXmlReader.cs
- ViewCellRelation.cs
- StatementContext.cs
- ConstraintStruct.cs
- XmlCDATASection.cs
- ClientOperationFormatterProvider.cs
- Accessible.cs
- WebPartDisplayModeEventArgs.cs
- XhtmlBasicSelectionListAdapter.cs
- BindingCompleteEventArgs.cs
- SemanticAnalyzer.cs
- NamespaceTable.cs
- RectangleF.cs
- BoolExpr.cs
- Clock.cs
- UndoEngine.cs
- PagesSection.cs
- MultipartContentParser.cs
- ComponentManagerBroker.cs
- ProtectedUri.cs
- ErrorFormatterPage.cs
- ByteAnimationBase.cs
- DBAsyncResult.cs
- MapPathBasedVirtualPathProvider.cs
- dataobject.cs
- WebServiceEnumData.cs