Code:
/ 4.0 / 4.0 / 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. 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
- MailBnfHelper.cs
- FixedBufferAttribute.cs
- TextRangeSerialization.cs
- Point3DIndependentAnimationStorage.cs
- DBSchemaRow.cs
- RoutedEvent.cs
- StatusBarDesigner.cs
- sqlinternaltransaction.cs
- DrawItemEvent.cs
- UnmanagedBitmapWrapper.cs
- ObjectNavigationPropertyMapping.cs
- EventLogEntryCollection.cs
- dataSvcMapFileLoader.cs
- CompositionTarget.cs
- SevenBitStream.cs
- PolyQuadraticBezierSegment.cs
- RtType.cs
- _Events.cs
- WindowsGraphicsWrapper.cs
- MultiView.cs
- PartitionedStream.cs
- EventLogRecord.cs
- Buffer.cs
- DetailsViewRow.cs
- EmissiveMaterial.cs
- TransformCryptoHandle.cs
- codemethodreferenceexpression.cs
- ForEachAction.cs
- SelectionProviderWrapper.cs
- SqlCommand.cs
- DataGridColumnHeadersPresenter.cs
- WindowShowOrOpenTracker.cs
- RtType.cs
- OleDbRowUpdatingEvent.cs
- FontWeights.cs
- GacUtil.cs
- Pick.cs
- ObjectCloneHelper.cs
- TextEncodedRawTextWriter.cs
- DrawingContext.cs
- XNodeNavigator.cs
- DocumentViewerConstants.cs
- Decorator.cs
- ByteAnimation.cs
- ToolStripTemplateNode.cs
- ForceCopyBuildProvider.cs
- DataGridDesigner.cs
- InputScopeNameConverter.cs
- MappingModelBuildProvider.cs
- MultitargetUtil.cs
- FunctionCommandText.cs
- BitStack.cs
- ConditionChanges.cs
- TransactionBehavior.cs
- UnsafeCollabNativeMethods.cs
- BrowsableAttribute.cs
- SelectedDatesCollection.cs
- MaterialGroup.cs
- AuthenticateEventArgs.cs
- FixedDocumentSequencePaginator.cs
- RegexReplacement.cs
- ErasingStroke.cs
- CornerRadiusConverter.cs
- TableHeaderCell.cs
- EmptyEnumerator.cs
- SQLUtility.cs
- ThumbAutomationPeer.cs
- FontInfo.cs
- DataGridViewRowHeaderCell.cs
- TaskHelper.cs
- CodePrimitiveExpression.cs
- StrokeCollectionDefaultValueFactory.cs
- CssStyleCollection.cs
- CorrelationValidator.cs
- VisualStyleRenderer.cs
- SingleTagSectionHandler.cs
- DataTableMapping.cs
- ApplicationTrust.cs
- StateMachineWorkflowDesigner.cs
- TemplatePropertyEntry.cs
- DesignerTransactionCloseEvent.cs
- DockingAttribute.cs
- Int64Converter.cs
- StringOutput.cs
- ApplicationSecurityInfo.cs
- LogSwitch.cs
- TraceContextEventArgs.cs
- TcpAppDomainProtocolHandler.cs
- XhtmlBasicControlAdapter.cs
- ZipPackage.cs
- ToolTipAutomationPeer.cs
- RowSpanVector.cs
- XmlSchemaElement.cs
- ConfigsHelper.cs
- SqlException.cs
- GuidelineCollection.cs
- RawKeyboardInputReport.cs
- ServiceManagerHandle.cs
- Matrix3DStack.cs
- XmlUtil.cs