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 / categoryentry.cs / 1305376 / categoryentry.cs
namespace System.Activities.Presentation.PropertyEditing { using System.ComponentModel; using System.Diagnostics; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Activities.Presentation; using System; ////// The CategoryEntry class is a part of the property editing object model. It models a /// Category which has a localized name along with a collection of properties. /// public abstract class CategoryEntry : INotifyPropertyChanged, IPropertyFilterTarget { private string _name; private bool _matchesFilter; ////// Creates a new CategoryEntry. For host Infrastructure use /// /// The localized name of the corresponding Category as defined by the /// CategoryAttribute ///When name is either empty or null. protected CategoryEntry(string name) { if (string.IsNullOrEmpty(name)) throw FxTrace.Exception.ArgumentNull("name"); _name = name; } ////// Returns the localized Category name /// public string CategoryName { get { return _name; } } ////// Returns an IEnumerable collection of all of the properties in the category. /// public abstract IEnumerableProperties { get; } /// /// Indexer that returns a Property instance given the property name. /// /// The string property name to return a Property instance for. ///Property corresponding to the passed in propertyName if it exists, otherwise null public abstract PropertyEntry this[string propertyName] { get; } // INotifyPropertyChanged Members ////// INotifyPropertyChanged event /// public event PropertyChangedEventHandler PropertyChanged; ////// Raises the INotifyPropertyChanged.PropertyChanged event /// /// the name of the property that is changing ///When propertyName is null protected virtual void OnPropertyChanged(string propertyName) { if (propertyName == null) throw FxTrace.Exception.ArgumentNull("propertyName"); if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } // IPropertyFilterTarget Members ////// IPropertyFilterTarget event /// public event EventHandlerFilterApplied; /// /// Raises the IPropertyFilterTarget.FilterApplied event /// /// The PropertyFilter being applied protected virtual void OnFilterApplied(PropertyFilter filter) { if (FilterApplied != null) { FilterApplied(this, new PropertyFilterAppliedEventArgs(filter)); } } ////// IPropertyFilterTarget method /// /// public virtual void ApplyFilter(PropertyFilter filter) { this.MatchesFilter = filter == null ? true : filter.Match(this); OnFilterApplied(filter); } ////// IPropertyFilterTarget property /// public virtual bool MatchesFilter { get { return _matchesFilter; } protected set { if (_matchesFilter != value) { _matchesFilter = value; this.OnPropertyChanged("MatchesFilter"); } } } ////// IPropertyFilterTarget method /// /// The PropertyFilterPredicate to match against ///true if there is a match, otherwise false public abstract bool MatchesPredicate(PropertyFilterPredicate predicate); } } // 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
- TimeSpanSecondsConverter.cs
- EntryIndex.cs
- NoResizeSelectionBorderGlyph.cs
- BinaryMessageEncodingBindingElement.cs
- Menu.cs
- MasterPageParser.cs
- CodeComment.cs
- TypeNameParser.cs
- SHA256Managed.cs
- PeerApplication.cs
- Message.cs
- Avt.cs
- ImageIndexConverter.cs
- PersonalizationEntry.cs
- DebuggerService.cs
- ModelTreeManager.cs
- MatrixUtil.cs
- EditingCommands.cs
- BindingCollection.cs
- CalendarDay.cs
- sqlcontext.cs
- XmlSchemaAppInfo.cs
- HashSet.cs
- MimeMultiPart.cs
- XPathBinder.cs
- PeerNameRecordCollection.cs
- SerialPinChanges.cs
- KeyProperty.cs
- RuntimeArgumentHandle.cs
- KeyConverter.cs
- InvokePattern.cs
- PackageRelationshipCollection.cs
- WebProxyScriptElement.cs
- PkcsMisc.cs
- EntityDataSourceWrapperCollection.cs
- DataPagerFieldItem.cs
- StringSource.cs
- InputMethodStateChangeEventArgs.cs
- PrintPreviewGraphics.cs
- HttpListenerPrefixCollection.cs
- ReadOnlyCollectionBase.cs
- CapabilitiesPattern.cs
- Section.cs
- SpoolingTask.cs
- StrongName.cs
- GregorianCalendar.cs
- CompatibleComparer.cs
- BinaryReader.cs
- FilterableData.cs
- SmiXetterAccessMap.cs
- LogStore.cs
- MenuItemAutomationPeer.cs
- SharedPersonalizationStateInfo.cs
- ColorContextHelper.cs
- XPathDocumentIterator.cs
- RoleManagerEventArgs.cs
- BooleanAnimationBase.cs
- securitymgrsite.cs
- GridViewColumnHeaderAutomationPeer.cs
- OdbcConnectionOpen.cs
- HttpClientCertificate.cs
- SerialErrors.cs
- XmlDataSourceNodeDescriptor.cs
- COM2Properties.cs
- VisualBasicReference.cs
- RawKeyboardInputReport.cs
- ItemsControlAutomationPeer.cs
- HitTestWithPointDrawingContextWalker.cs
- BindingSource.cs
- TrackingMemoryStreamFactory.cs
- Suspend.cs
- MessageSecurityException.cs
- InternalBase.cs
- ToolboxComponentsCreatedEventArgs.cs
- IndexerNameAttribute.cs
- Grammar.cs
- SQLInt16Storage.cs
- EditorPartCollection.cs
- GeneralTransformGroup.cs
- CompiledQuery.cs
- Resources.Designer.cs
- RegexWorker.cs
- ContractsBCL.cs
- Listbox.cs
- _AutoWebProxyScriptWrapper.cs
- XpsDocument.cs
- CombinedHttpChannel.cs
- DesigntimeLicenseContext.cs
- ContractReference.cs
- StylusPointPropertyInfoDefaults.cs
- TemplateNodeContextMenu.cs
- SchemaImporter.cs
- IteratorFilter.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ClientData.cs
- InvocationExpression.cs
- AliasExpr.cs
- SQLGuidStorage.cs
- ModuleBuilder.cs
- AssemblyResourceLoader.cs