Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BufferedGraphics.cs
- DataMemberConverter.cs
- HttpListenerResponse.cs
- Int32CAMarshaler.cs
- TextServicesLoader.cs
- DirectoryLocalQuery.cs
- Html32TextWriter.cs
- SoapMessage.cs
- WindowsListView.cs
- OpenTypeMethods.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ping.cs
- RichTextBox.cs
- ImageListStreamer.cs
- UInt64.cs
- SemaphoreSecurity.cs
- ConfigurationManagerInternal.cs
- FileAuthorizationModule.cs
- DateTimeFormatInfoScanner.cs
- Regex.cs
- HiddenFieldPageStatePersister.cs
- GenericRootAutomationPeer.cs
- CornerRadius.cs
- UserControl.cs
- DbMetaDataFactory.cs
- InlineCollection.cs
- SoapWriter.cs
- XmlResolver.cs
- InputLanguageSource.cs
- ViewManager.cs
- TreeNodeConverter.cs
- DragEvent.cs
- ChangeConflicts.cs
- RsaKeyIdentifierClause.cs
- TraceSection.cs
- TableParagraph.cs
- HiddenField.cs
- Int32Collection.cs
- KeyConverter.cs
- XmlSortKey.cs
- BinaryReader.cs
- XMLSchema.cs
- WindowInteractionStateTracker.cs
- PersonalizationDictionary.cs
- ArrayExtension.cs
- DataTable.cs
- XmlAttributeOverrides.cs
- Attribute.cs
- Events.cs
- XpsViewerException.cs
- ItemContainerGenerator.cs
- SystemResources.cs
- WindowsMenu.cs
- DependencyProperty.cs
- MediaElementAutomationPeer.cs
- DragDropManager.cs
- SmtpException.cs
- WindowsListViewItemCheckBox.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- Converter.cs
- JsonDeserializer.cs
- DataViewManager.cs
- Dispatcher.cs
- EventSetterHandlerConverter.cs
- SubtreeProcessor.cs
- HashStream.cs
- LogRestartAreaEnumerator.cs
- ICspAsymmetricAlgorithm.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- AssemblyBuilderData.cs
- VirtualizedItemProviderWrapper.cs
- ConsoleEntryPoint.cs
- DataObjectEventArgs.cs
- _HelperAsyncResults.cs
- DesignOnlyAttribute.cs
- MenuAdapter.cs
- WizardStepCollectionEditor.cs
- IISMapPath.cs
- ArrayTypeMismatchException.cs
- SearchExpression.cs
- ParameterBinding.cs
- DBBindings.cs
- SatelliteContractVersionAttribute.cs
- HtmlForm.cs
- MachineKeyConverter.cs
- MethodCallTranslator.cs
- PageContentCollection.cs
- WebPartHeaderCloseVerb.cs
- NavigationProgressEventArgs.cs
- LinkLabel.cs
- PersonalizableAttribute.cs
- StringWriter.cs
- CompositeFontFamily.cs
- FieldBuilder.cs
- NamedPipeProcessProtocolHandler.cs
- ResourceSet.cs
- RecipientInfo.cs
- TableCellAutomationPeer.cs
- SQLConvert.cs
- FlowPosition.cs