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
- WebPartTracker.cs
- GridViewCellAutomationPeer.cs
- DispatcherEventArgs.cs
- EntityCommandExecutionException.cs
- altserialization.cs
- SQLMembershipProvider.cs
- XPathNodeInfoAtom.cs
- MimeMapping.cs
- XmlCharCheckingWriter.cs
- XmlILIndex.cs
- MSG.cs
- LabelLiteral.cs
- SamlAuthorizationDecisionClaimResource.cs
- VScrollBar.cs
- Control.cs
- StorageFunctionMapping.cs
- SecureStringHasher.cs
- DesignerTransactionCloseEvent.cs
- DataGridViewComboBoxCell.cs
- StringValidator.cs
- ImageDrawing.cs
- SafeProcessHandle.cs
- SQLSingleStorage.cs
- WsatEtwTraceListener.cs
- AdapterUtil.cs
- AesCryptoServiceProvider.cs
- PositiveTimeSpanValidatorAttribute.cs
- SortQuery.cs
- TextBoxBase.cs
- followingsibling.cs
- ConditionBrowserDialog.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- ParsedAttributeCollection.cs
- FamilyCollection.cs
- DefaultSerializationProviderAttribute.cs
- MenuCommandsChangedEventArgs.cs
- LocatorGroup.cs
- CustomErrorCollection.cs
- XmlSerializerSection.cs
- ProfilePropertyNameValidator.cs
- CaseExpr.cs
- SaveFileDialog.cs
- DataTable.cs
- ToolboxItem.cs
- DockingAttribute.cs
- CornerRadiusConverter.cs
- BinaryParser.cs
- SpeechEvent.cs
- PolyQuadraticBezierSegment.cs
- VectorValueSerializer.cs
- ListView.cs
- X509AsymmetricSecurityKey.cs
- IteratorFilter.cs
- fixedPageContentExtractor.cs
- TransformerConfigurationWizardBase.cs
- ElementNotAvailableException.cs
- SmiXetterAccessMap.cs
- DataGridViewCellPaintingEventArgs.cs
- ArgumentNullException.cs
- ReflectPropertyDescriptor.cs
- TextCharacters.cs
- Separator.cs
- Point.cs
- OpCodes.cs
- CultureTable.cs
- StackBuilderSink.cs
- UserNameSecurityTokenProvider.cs
- DebuggerAttributes.cs
- CqlLexer.cs
- ContainerUtilities.cs
- MessageLogger.cs
- StackBuilderSink.cs
- SystemEvents.cs
- CalendarAutomationPeer.cs
- CallInfo.cs
- BasicViewGenerator.cs
- ItemsChangedEventArgs.cs
- Invariant.cs
- QuadraticBezierSegment.cs
- InstancePersistenceCommand.cs
- ParameterCollection.cs
- ImageMap.cs
- ObjectSet.cs
- BuildProviderUtils.cs
- CodeNamespace.cs
- Recipient.cs
- ColumnHeaderCollectionEditor.cs
- GeneratedCodeAttribute.cs
- SingleObjectCollection.cs
- EventLogPermissionEntryCollection.cs
- InfoCardX509Validator.cs
- DivideByZeroException.cs
- XamlTreeBuilder.cs
- Validator.cs
- InstallerTypeAttribute.cs
- ContractMapping.cs
- sqlinternaltransaction.cs
- PnrpPeerResolverElement.cs
- EventTask.cs
- Encoder.cs