Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Core / PropertyEditing / CategoryEditor.cs / 1305376 / CategoryEditor.cs
namespace System.Activities.Presentation.PropertyEditing { using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Text; using System.Windows; using System.Windows.Media; using System.Activities.Presentation.Internal.Properties; using System.Activities.Presentation; ////// Derive this class to provide a custom CategoryEditor for a set of Properties in a property /// browser host. /// public abstract class CategoryEditor { ////// This method is called once for each property in the category to determine which properties /// are edited by this CategoryEditor. When a property is consumed by a CategoryEditor, it does /// not show up as a separate row in that category. /// /// The PropertyEntry to check to see if its edited by this CategoryEditor ///true if this editor edits that property, otherwise false public abstract bool ConsumesProperty(PropertyEntry propertyEntry); ////// Returns a localized string that indicates which category this editor belongs to. CategoryEditors are /// defined on types and, thus, at load time they need to indicate the actual category they belong to. /// public abstract string TargetCategory { get; } ////// Returns a DataTemplate that is hosted by the PropertyInspector as the UI for a CategoryEditor. /// The DataSource of this DataTemplate is set to a CategoryEntry. /// public abstract DataTemplate EditorTemplate { get; } ////// Returns an object that the host can place into a ContentControl in order to display it. /// This icon may be used to adorn the editor for this category in /// a collapsed mode, should it support one. /// /// The desired size of the image to return. This method should make /// the best attempt in matching the requested size, but it doesn't guarantee it. public abstract object GetImage(Size desiredSize); ////// Utility method that creates a new EditorAttribute for the specified /// CategoryEditor /// /// CategoryEditor instance for which to create /// the new EditorAttribute ///New EditorAttribute for the specified CategoryEditor public static EditorAttribute CreateEditorAttribute(CategoryEditor editor) { if (editor == null) throw FxTrace.Exception.ArgumentNull("editor"); return CreateEditorAttribute(editor.GetType()); } ////// Utility method that creates a new EditorAttribute for the specified /// CategoryEditor type /// /// CategoryEditor type for which to create /// the new EditorAttribute ///New EditorAttribute for the specified CategoryEditor type public static EditorAttribute CreateEditorAttribute(Type categoryEditorType) { if (categoryEditorType == null) throw FxTrace.Exception.ArgumentNull("categoryEditorType"); if (!typeof(CategoryEditor).IsAssignableFrom(categoryEditorType)) throw FxTrace.Exception.AsError(new ArgumentException( string.Format( CultureInfo.CurrentCulture, Resources.Error_ArgIncorrectType, "categoryEditorType", typeof(CategoryEditor).Name))); return new EditorAttribute(categoryEditorType, categoryEditorType); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Activities.Presentation.PropertyEditing { using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Text; using System.Windows; using System.Windows.Media; using System.Activities.Presentation.Internal.Properties; using System.Activities.Presentation; ////// Derive this class to provide a custom CategoryEditor for a set of Properties in a property /// browser host. /// public abstract class CategoryEditor { ////// This method is called once for each property in the category to determine which properties /// are edited by this CategoryEditor. When a property is consumed by a CategoryEditor, it does /// not show up as a separate row in that category. /// /// The PropertyEntry to check to see if its edited by this CategoryEditor ///true if this editor edits that property, otherwise false public abstract bool ConsumesProperty(PropertyEntry propertyEntry); ////// Returns a localized string that indicates which category this editor belongs to. CategoryEditors are /// defined on types and, thus, at load time they need to indicate the actual category they belong to. /// public abstract string TargetCategory { get; } ////// Returns a DataTemplate that is hosted by the PropertyInspector as the UI for a CategoryEditor. /// The DataSource of this DataTemplate is set to a CategoryEntry. /// public abstract DataTemplate EditorTemplate { get; } ////// Returns an object that the host can place into a ContentControl in order to display it. /// This icon may be used to adorn the editor for this category in /// a collapsed mode, should it support one. /// /// The desired size of the image to return. This method should make /// the best attempt in matching the requested size, but it doesn't guarantee it. public abstract object GetImage(Size desiredSize); ////// Utility method that creates a new EditorAttribute for the specified /// CategoryEditor /// /// CategoryEditor instance for which to create /// the new EditorAttribute ///New EditorAttribute for the specified CategoryEditor public static EditorAttribute CreateEditorAttribute(CategoryEditor editor) { if (editor == null) throw FxTrace.Exception.ArgumentNull("editor"); return CreateEditorAttribute(editor.GetType()); } ////// Utility method that creates a new EditorAttribute for the specified /// CategoryEditor type /// /// CategoryEditor type for which to create /// the new EditorAttribute ///New EditorAttribute for the specified CategoryEditor type public static EditorAttribute CreateEditorAttribute(Type categoryEditorType) { if (categoryEditorType == null) throw FxTrace.Exception.ArgumentNull("categoryEditorType"); if (!typeof(CategoryEditor).IsAssignableFrom(categoryEditorType)) throw FxTrace.Exception.AsError(new ArgumentException( string.Format( CultureInfo.CurrentCulture, Resources.Error_ArgIncorrectType, "categoryEditorType", typeof(CategoryEditor).Name))); return new EditorAttribute(categoryEditorType, categoryEditorType); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyEmitter.cs
- QilInvoke.cs
- ResXDataNode.cs
- ScopelessEnumAttribute.cs
- SqlCacheDependencyDatabaseCollection.cs
- ColumnTypeConverter.cs
- PageThemeBuildProvider.cs
- Point4DConverter.cs
- XamlBrushSerializer.cs
- TextElementEditingBehaviorAttribute.cs
- PointHitTestParameters.cs
- DynamicDocumentPaginator.cs
- NamespaceList.cs
- UserNameSecurityTokenProvider.cs
- NameSpaceEvent.cs
- KeyBinding.cs
- WindowsGrip.cs
- ObjectAnimationBase.cs
- PersonalizationEntry.cs
- IApplicationTrustManager.cs
- MetadataAssemblyHelper.cs
- WarningException.cs
- MarshalDirectiveException.cs
- XmlnsDefinitionAttribute.cs
- HebrewCalendar.cs
- SQLBytesStorage.cs
- NamedElement.cs
- LinearQuaternionKeyFrame.cs
- HTMLTagNameToTypeMapper.cs
- DecoderReplacementFallback.cs
- webeventbuffer.cs
- ImageConverter.cs
- BooleanStorage.cs
- WindowPattern.cs
- StoragePropertyMapping.cs
- ClientRuntimeConfig.cs
- WizardPanel.cs
- CodeGenerator.cs
- DataGridViewRowPostPaintEventArgs.cs
- RelationshipEndMember.cs
- ExpressionBuilderContext.cs
- ProfileBuildProvider.cs
- PagedDataSource.cs
- OdbcReferenceCollection.cs
- SamlAuthenticationStatement.cs
- PointUtil.cs
- FontCacheUtil.cs
- CommandField.cs
- LinqMaximalSubtreeNominator.cs
- PageAdapter.cs
- SafeRightsManagementHandle.cs
- RawStylusInputCustomData.cs
- Vector3DCollectionConverter.cs
- StorageMappingItemLoader.cs
- ListViewGroup.cs
- CacheOutputQuery.cs
- ContractNamespaceAttribute.cs
- PointCollectionValueSerializer.cs
- Separator.cs
- ClaimSet.cs
- SmtpClient.cs
- AppDomain.cs
- HttpMethodConstraint.cs
- ObjectListItemCollection.cs
- streamingZipPartStream.cs
- GroupLabel.cs
- PropertyValueUIItem.cs
- StatusBar.cs
- SizeChangedEventArgs.cs
- RowToFieldTransformer.cs
- DynamicRouteExpression.cs
- WebPartRestoreVerb.cs
- MessageBox.cs
- EvidenceBase.cs
- DataControlExtensions.cs
- SqlClientFactory.cs
- HtmlTableCellCollection.cs
- WhitespaceRuleReader.cs
- AttachedPropertyMethodSelector.cs
- NameScope.cs
- SHA512.cs
- XmlSchemaAnnotation.cs
- ObjectDataSourceDisposingEventArgs.cs
- Profiler.cs
- ActivityExecutionContext.cs
- BindingsCollection.cs
- TdsParserSessionPool.cs
- SourceSwitch.cs
- Command.cs
- Brushes.cs
- SecurityException.cs
- NamespaceDecl.cs
- SkipStoryboardToFill.cs
- InvalidComObjectException.cs
- DynamicUpdateCommand.cs
- Internal.cs
- IntegrationExceptionEventArgs.cs
- Identity.cs
- InstanceData.cs
- Rect.cs