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
- SqlUserDefinedTypeAttribute.cs
- Polygon.cs
- Byte.cs
- DelegatingConfigHost.cs
- ObsoleteAttribute.cs
- InkCanvasFeedbackAdorner.cs
- TextServicesDisplayAttribute.cs
- NotImplementedException.cs
- StrokeCollection2.cs
- DiscoveryClientChannelBase.cs
- SystemPens.cs
- WmlTextViewAdapter.cs
- ToolboxBitmapAttribute.cs
- FixedFindEngine.cs
- CollectionView.cs
- ClickablePoint.cs
- PropertyValueChangedEvent.cs
- XmlNodeChangedEventArgs.cs
- ReadContentAsBinaryHelper.cs
- Stackframe.cs
- CollectionBuilder.cs
- ConfigurationStrings.cs
- MessageSmuggler.cs
- DocumentViewerBase.cs
- OrderedDictionary.cs
- StringFunctions.cs
- XmlEncoding.cs
- HMACSHA384.cs
- SymmetricSecurityProtocolFactory.cs
- ImplicitInputBrush.cs
- Array.cs
- PassportAuthentication.cs
- CompilerCollection.cs
- Crc32.cs
- EntityDataSourceColumn.cs
- SelectQueryOperator.cs
- SequenceQuery.cs
- HttpTransportBindingElement.cs
- SelectingProviderEventArgs.cs
- WebEventTraceProvider.cs
- AttachmentCollection.cs
- CharStorage.cs
- TreeNodeStyle.cs
- ContentType.cs
- ToolboxItem.cs
- FreezableCollection.cs
- BamlRecordHelper.cs
- IssuerInformation.cs
- OutOfMemoryException.cs
- StorageConditionPropertyMapping.cs
- Events.cs
- ByteStreamBufferedMessageData.cs
- Site.cs
- DeleteWorkflowOwnerCommand.cs
- ThreadStaticAttribute.cs
- DataGridViewCellParsingEventArgs.cs
- AttributeUsageAttribute.cs
- BinaryReader.cs
- ParameterModifier.cs
- DataExpression.cs
- WebControl.cs
- NetStream.cs
- CssStyleCollection.cs
- DiagnosticsElement.cs
- PagesChangedEventArgs.cs
- DataSourceXmlElementAttribute.cs
- WeakHashtable.cs
- _ConnectStream.cs
- SelectionUIHandler.cs
- SessionViewState.cs
- StyleModeStack.cs
- CoreSwitches.cs
- RegexWriter.cs
- ProfileGroupSettings.cs
- _Win32.cs
- XamlClipboardData.cs
- DiscardableAttribute.cs
- ComponentCollection.cs
- _ListenerResponseStream.cs
- WorkflowElementDialog.cs
- _HeaderInfo.cs
- ScrollableControl.cs
- SystemIPInterfaceStatistics.cs
- HttpResponseHeader.cs
- ConfigsHelper.cs
- M3DUtil.cs
- _ListenerRequestStream.cs
- ValueTypeFixupInfo.cs
- Brush.cs
- RowSpanVector.cs
- PolicyStatement.cs
- DPCustomTypeDescriptor.cs
- CustomErrorsSectionWrapper.cs
- Attribute.cs
- __FastResourceComparer.cs
- ExtendedProperty.cs
- ADMembershipUser.cs
- CircleHotSpot.cs
- ResourceProperty.cs
- SourceFileInfo.cs