Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / TriggerCollection.cs / 1 / TriggerCollection.cs
/****************************************************************************\
*
* File: TriggerCollection.cs
*
* A collection of TriggerBase-derived classes. See use in Style.cs and other
* places.
*
* Copyright (C) by Microsoft Corporation. All rights reserved.
*
\***************************************************************************/
using System.Diagnostics;
using System.Collections.Generic;
using System.Collections.ObjectModel; // Collection
using MS.Internal;
namespace System.Windows
{
///
/// A set of TriggerBase's
///
[Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
public sealed class TriggerCollection : Collection
{
#region Constructors
internal TriggerCollection() : this(null)
{
}
internal TriggerCollection(FrameworkElement owner) : base()
{
_sealed = false;
_owner = owner;
}
#endregion Constructors
#region ProtectedMethods
///
/// ClearItems override
///
protected override void ClearItems()
{
CheckSealed();
OnClear();
base.ClearItems();
}
///
/// InsertItem override
///
protected override void InsertItem(int index, TriggerBase item)
{
CheckSealed();
TriggerBaseValidation(item);
OnAdd(item);
base.InsertItem(index, item);
}
///
/// RemoveItem override
///
protected override void RemoveItem(int index)
{
CheckSealed();
TriggerBase triggerBase = this[index];
OnRemove(triggerBase);
base.RemoveItem(index);
}
///
/// SetItem override
///
protected override void SetItem(int index, TriggerBase item)
{
CheckSealed();
TriggerBaseValidation(item);
OnAdd(item);
base.SetItem(index, item);
}
#endregion ProtectedMethods
#region PublicMethods
///
/// Returns the sealed state of this object. If true, any attempt
/// at modifying the state of this object will trigger an exception.
///
public bool IsSealed
{
get
{
return _sealed;
}
}
#endregion PublicMethods
#region InternalMethods
internal void Seal()
{
Debug.Assert (Owner == null);
_sealed = true;
// Seal all the setters
for (int i=0; i= 0; i--)
{
InheritanceContextHelper.RemoveContextFromObject(Owner, this[i]);
}
}
}
#endregion PrivateMethods
#region Data
private bool _sealed;
private FrameworkElement _owner;
#endregion Data
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
/****************************************************************************\
*
* File: TriggerCollection.cs
*
* A collection of TriggerBase-derived classes. See use in Style.cs and other
* places.
*
* Copyright (C) by Microsoft Corporation. All rights reserved.
*
\***************************************************************************/
using System.Diagnostics;
using System.Collections.Generic;
using System.Collections.ObjectModel; // Collection
using MS.Internal;
namespace System.Windows
{
///
/// A set of TriggerBase's
///
[Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
public sealed class TriggerCollection : Collection
{
#region Constructors
internal TriggerCollection() : this(null)
{
}
internal TriggerCollection(FrameworkElement owner) : base()
{
_sealed = false;
_owner = owner;
}
#endregion Constructors
#region ProtectedMethods
///
/// ClearItems override
///
protected override void ClearItems()
{
CheckSealed();
OnClear();
base.ClearItems();
}
///
/// InsertItem override
///
protected override void InsertItem(int index, TriggerBase item)
{
CheckSealed();
TriggerBaseValidation(item);
OnAdd(item);
base.InsertItem(index, item);
}
///
/// RemoveItem override
///
protected override void RemoveItem(int index)
{
CheckSealed();
TriggerBase triggerBase = this[index];
OnRemove(triggerBase);
base.RemoveItem(index);
}
///
/// SetItem override
///
protected override void SetItem(int index, TriggerBase item)
{
CheckSealed();
TriggerBaseValidation(item);
OnAdd(item);
base.SetItem(index, item);
}
#endregion ProtectedMethods
#region PublicMethods
///
/// Returns the sealed state of this object. If true, any attempt
/// at modifying the state of this object will trigger an exception.
///
public bool IsSealed
{
get
{
return _sealed;
}
}
#endregion PublicMethods
#region InternalMethods
internal void Seal()
{
Debug.Assert (Owner == null);
_sealed = true;
// Seal all the setters
for (int i=0; i= 0; i--)
{
InheritanceContextHelper.RemoveContextFromObject(Owner, this[i]);
}
}
}
#endregion PrivateMethods
#region Data
private bool _sealed;
private FrameworkElement _owner;
#endregion Data
}
}
// 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
- DocumentPaginator.cs
- ZipIOBlockManager.cs
- MetadataArtifactLoader.cs
- HttpCacheVary.cs
- ListViewDeletedEventArgs.cs
- StopStoryboard.cs
- DataServiceRequestOfT.cs
- SessionEndingEventArgs.cs
- PeerPresenceInfo.cs
- DbDataReader.cs
- AutomationPeer.cs
- VoiceInfo.cs
- InputLanguage.cs
- MessageSecurityOverMsmq.cs
- TypedReference.cs
- ProcessThread.cs
- CursorInteropHelper.cs
- HwndMouseInputProvider.cs
- WsdlExporter.cs
- DataViewSettingCollection.cs
- XmlQueryContext.cs
- DataControlFieldHeaderCell.cs
- PageParserFilter.cs
- PersistChildrenAttribute.cs
- SyntaxCheck.cs
- XmlBaseWriter.cs
- smtppermission.cs
- JsonDeserializer.cs
- EntityDataSource.cs
- SafeLibraryHandle.cs
- ApplicationInfo.cs
- VectorCollectionConverter.cs
- Mutex.cs
- BaseInfoTable.cs
- ExplicitDiscriminatorMap.cs
- ObjectNavigationPropertyMapping.cs
- CodeObjectCreateExpression.cs
- CharacterString.cs
- ILGenerator.cs
- MouseWheelEventArgs.cs
- IncrementalCompileAnalyzer.cs
- Utils.cs
- Tag.cs
- Quaternion.cs
- Overlapped.cs
- AnnouncementInnerClientCD1.cs
- StyleSheetDesigner.cs
- ChannelSinkStacks.cs
- TextServicesHost.cs
- TreeViewCancelEvent.cs
- TextContainerChangedEventArgs.cs
- GcHandle.cs
- BinaryKeyIdentifierClause.cs
- TextDecorationCollection.cs
- KeyFrames.cs
- ErrorFormatterPage.cs
- ManipulationDevice.cs
- BinaryParser.cs
- TemplateBindingExpressionConverter.cs
- RelationshipDetailsRow.cs
- ContainsRowNumberChecker.cs
- VSDExceptions.cs
- ExternalException.cs
- ActivationWorker.cs
- BindStream.cs
- PropVariant.cs
- NativeMethods.cs
- ConnectorRouter.cs
- DesignerForm.cs
- PropertyBuilder.cs
- NetworkCredential.cs
- Touch.cs
- RangeEnumerable.cs
- XmlStreamStore.cs
- ToolStripContentPanel.cs
- EntityWithChangeTrackerStrategy.cs
- SelectionWordBreaker.cs
- MetabaseServerConfig.cs
- Opcode.cs
- WithParamAction.cs
- RecognizedPhrase.cs
- XmlSerializerNamespaces.cs
- WmpBitmapDecoder.cs
- MemberListBinding.cs
- KnownTypesHelper.cs
- ProcessManager.cs
- OptimizerPatterns.cs
- PropertyFilterAttribute.cs
- XmlUTF8TextWriter.cs
- TextTreePropertyUndoUnit.cs
- ZoomPercentageConverter.cs
- ExpressionLexer.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- SchemeSettingElementCollection.cs
- ToolboxItem.cs
- CommandEventArgs.cs
- FormViewDeletedEventArgs.cs
- NullableBoolConverter.cs
- ResXResourceWriter.cs
- KnownBoxes.cs