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
- WebCategoryAttribute.cs
- AddInIpcChannel.cs
- HtmlInputImage.cs
- SoapParser.cs
- InvariantComparer.cs
- RelatedEnd.cs
- TreeView.cs
- FreezableCollection.cs
- BaseAddressElement.cs
- WorkerRequest.cs
- NonBatchDirectoryCompiler.cs
- FormatConvertedBitmap.cs
- WizardPanel.cs
- LinkUtilities.cs
- ByteConverter.cs
- QueryableFilterUserControl.cs
- AccessDataSource.cs
- DrawingContextWalker.cs
- Run.cs
- ErrorFormatter.cs
- HostingPreferredMapPath.cs
- XsdBuilder.cs
- BindingContext.cs
- WpfKnownMemberInvoker.cs
- HtmlTableCell.cs
- sortedlist.cs
- CompositeFontParser.cs
- InvalidateEvent.cs
- Condition.cs
- CodeSnippetExpression.cs
- KeySpline.cs
- OracleDataAdapter.cs
- DocumentViewerBaseAutomationPeer.cs
- StructuralObject.cs
- InkSerializer.cs
- LinearGradientBrush.cs
- SqlClientFactory.cs
- ScrollPattern.cs
- EntityContainerAssociationSetEnd.cs
- XmlAttributeAttribute.cs
- XmlWhitespace.cs
- BasicCommandTreeVisitor.cs
- FloatUtil.cs
- LongValidator.cs
- OrderedEnumerableRowCollection.cs
- _DigestClient.cs
- httpapplicationstate.cs
- XmlWriter.cs
- CodePrimitiveExpression.cs
- Timer.cs
- Pts.cs
- DispatcherHookEventArgs.cs
- Accessible.cs
- XmlNamespaceDeclarationsAttribute.cs
- XamlStackWriter.cs
- IssuedTokenParametersElement.cs
- OrderByQueryOptionExpression.cs
- CommandID.cs
- SdlChannelSink.cs
- DrawingBrush.cs
- DrawingBrush.cs
- ListViewInsertionMark.cs
- StringUtil.cs
- CodeDirectoryCompiler.cs
- FacetValues.cs
- Sql8ExpressionRewriter.cs
- ProxyWebPartConnectionCollection.cs
- TabletCollection.cs
- RepeaterItem.cs
- FontCacheUtil.cs
- ResXDataNode.cs
- DbParameterCollectionHelper.cs
- ViewKeyConstraint.cs
- PkcsMisc.cs
- TreeIterator.cs
- CustomAttribute.cs
- Configuration.cs
- ReliableSessionBindingElementImporter.cs
- FixedDocumentPaginator.cs
- BooleanAnimationBase.cs
- ChainOfDependencies.cs
- RegistrySecurity.cs
- ClusterRegistryConfigurationProvider.cs
- mediaclock.cs
- EntityUtil.cs
- SpellerHighlightLayer.cs
- TrustDriver.cs
- MetadataCollection.cs
- PathSegment.cs
- VirtualDirectoryMapping.cs
- SpeechAudioFormatInfo.cs
- ArglessEventHandlerProxy.cs
- ToolStripContentPanel.cs
- DataGridViewComboBoxCell.cs
- BehaviorEditorPart.cs
- MetaDataInfo.cs
- FixedSOMTextRun.cs
- Pointer.cs
- StringFunctions.cs
- CLRBindingWorker.cs