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
- arclist.cs
- AdjustableArrowCap.cs
- StylusPointPropertyInfo.cs
- DataServiceQueryProvider.cs
- PropertyGridView.cs
- ClientTarget.cs
- StyleModeStack.cs
- TrackingProfileCache.cs
- relpropertyhelper.cs
- ObjectHandle.cs
- ListSourceHelper.cs
- BuilderPropertyEntry.cs
- TreeNodeCollection.cs
- TimeSpanConverter.cs
- OdbcStatementHandle.cs
- DataServiceResponse.cs
- InputProcessorProfiles.cs
- OperationAbortedException.cs
- JapaneseCalendar.cs
- OutputScopeManager.cs
- Point3DCollection.cs
- CharEntityEncoderFallback.cs
- RSAPKCS1SignatureDeformatter.cs
- FormViewInsertedEventArgs.cs
- ElementInit.cs
- UpDownBase.cs
- WindowsGraphicsWrapper.cs
- LayoutInformation.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ObjectAnimationBase.cs
- SqlMetaData.cs
- RangeExpression.cs
- ResourceDictionary.cs
- DesignerFrame.cs
- SqlResolver.cs
- GenericIdentity.cs
- DefaultTypeArgumentAttribute.cs
- ApplicationActivator.cs
- StringExpressionSet.cs
- ProfileService.cs
- ContractNamespaceAttribute.cs
- UrlPath.cs
- LogSwitch.cs
- SvcMapFileLoader.cs
- ThicknessConverter.cs
- TextParentUndoUnit.cs
- PointCollectionConverter.cs
- ServiceNameCollection.cs
- RelationshipManager.cs
- UInt16.cs
- Margins.cs
- ListViewSelectEventArgs.cs
- FontResourceCache.cs
- QilValidationVisitor.cs
- ColumnMapVisitor.cs
- StrokeNodeOperations2.cs
- X509AsymmetricSecurityKey.cs
- ViewManager.cs
- ServiceDescription.cs
- TextEffectResolver.cs
- SoapEnumAttribute.cs
- ObjectComplexPropertyMapping.cs
- ToolBarButton.cs
- CodeIdentifier.cs
- ListViewItemCollectionEditor.cs
- objectquery_tresulttype.cs
- QueryResults.cs
- ProgressBarRenderer.cs
- WebControlToolBoxItem.cs
- StringValueSerializer.cs
- WindowsBrush.cs
- DataSourceDesigner.cs
- UnsafeNativeMethods.cs
- RegexGroup.cs
- MetadataCollection.cs
- GenericXmlSecurityToken.cs
- InkCanvasSelection.cs
- DocobjHost.cs
- WebProxyScriptElement.cs
- DataControlFieldHeaderCell.cs
- DBPropSet.cs
- GeneratedCodeAttribute.cs
- WizardForm.cs
- ObjectContextServiceProvider.cs
- ListBase.cs
- Helper.cs
- XmlNodeReader.cs
- DivideByZeroException.cs
- PolyQuadraticBezierSegment.cs
- Enum.cs
- TCEAdapterGenerator.cs
- JournalNavigationScope.cs
- StylusEditingBehavior.cs
- WebMessageFormatHelper.cs
- EditorZoneDesigner.cs
- _ConnectionGroup.cs
- BehaviorEditorPart.cs
- SQLDoubleStorage.cs
- TypeReference.cs
- DirectoryNotFoundException.cs