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
- CodeSnippetTypeMember.cs
- ShortcutKeysEditor.cs
- CodeActivityContext.cs
- CommonObjectSecurity.cs
- PageHandlerFactory.cs
- DataBoundControlAdapter.cs
- BaseTemplateBuildProvider.cs
- FileDialog_Vista_Interop.cs
- SqlError.cs
- BCLDebug.cs
- SQLMoneyStorage.cs
- LineInfo.cs
- CodeObjectCreateExpression.cs
- AutomationPeer.cs
- NetworkInformationPermission.cs
- ResizeGrip.cs
- MenuItemStyleCollection.cs
- GenericWebPart.cs
- Operators.cs
- PeerNodeAddress.cs
- ThicknessAnimationBase.cs
- IndexedGlyphRun.cs
- XmlSchemaComplexContentExtension.cs
- SqlGenericUtil.cs
- URLString.cs
- HtmlSelect.cs
- Single.cs
- TagMapCollection.cs
- EnterpriseServicesHelper.cs
- DBDataPermissionAttribute.cs
- SplitterPanel.cs
- SettingsProperty.cs
- ConstNode.cs
- CoreSwitches.cs
- EasingKeyFrames.cs
- TreeNodeStyleCollection.cs
- ItemsControlAutomationPeer.cs
- ListSortDescription.cs
- WizardStepCollectionEditor.cs
- sqlser.cs
- Workspace.cs
- BaseEntityWrapper.cs
- CachedBitmap.cs
- AlignmentXValidation.cs
- ManifestSignatureInformation.cs
- SqlExpander.cs
- SpeechRecognizer.cs
- ArithmeticException.cs
- ObjectCache.cs
- TextDocumentView.cs
- ClickablePoint.cs
- ToolStripItemCollection.cs
- PropertyPushdownHelper.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- CodeCatchClauseCollection.cs
- BypassElement.cs
- XhtmlBasicCalendarAdapter.cs
- TcpStreams.cs
- XNodeNavigator.cs
- HttpStreamXmlDictionaryWriter.cs
- InternalSafeNativeMethods.cs
- ValidatedControlConverter.cs
- SevenBitStream.cs
- PowerModeChangedEventArgs.cs
- ElementInit.cs
- PointLightBase.cs
- AppManager.cs
- VisualBrush.cs
- HtmlTextArea.cs
- QilExpression.cs
- WrappedKeySecurityToken.cs
- ToolZone.cs
- _DigestClient.cs
- TimeSpan.cs
- ThreadSafeMessageFilterTable.cs
- EditorOptionAttribute.cs
- SerialErrors.cs
- HttpProfileGroupBase.cs
- coordinatorfactory.cs
- WsdlInspector.cs
- DecoderBestFitFallback.cs
- SiteOfOriginContainer.cs
- ZipArchive.cs
- XamlNamespaceHelper.cs
- OutputChannelBinder.cs
- LinqDataSourceDisposeEventArgs.cs
- XappLauncher.cs
- QilParameter.cs
- ChangeConflicts.cs
- DrawingContextDrawingContextWalker.cs
- ScheduleChanges.cs
- RemotingServices.cs
- GridSplitterAutomationPeer.cs
- SqlDataSourceConnectionPanel.cs
- FileDataSourceCache.cs
- GlobalAllocSafeHandle.cs
- XmlAttributes.cs
- ParserHooks.cs
- MethodRental.cs
- TouchPoint.cs