Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- RegisteredDisposeScript.cs
- TextEditorSelection.cs
- Visitors.cs
- WebPartActionVerb.cs
- CodeTypeReferenceExpression.cs
- NodeFunctions.cs
- ProgressBarHighlightConverter.cs
- SmiEventSink.cs
- DbDataReader.cs
- ThemeDictionaryExtension.cs
- Attributes.cs
- MethodCallConverter.cs
- URLIdentityPermission.cs
- RightsManagementPermission.cs
- CookieParameter.cs
- BitFlagsGenerator.cs
- sqlstateclientmanager.cs
- DataViewManagerListItemTypeDescriptor.cs
- XmlMembersMapping.cs
- EventMappingSettings.cs
- SchemaElementLookUpTable.cs
- SaveFileDialog.cs
- CustomCategoryAttribute.cs
- latinshape.cs
- WebPartConnectionsConnectVerb.cs
- UpdatePanel.cs
- PrintDialogException.cs
- DeflateStream.cs
- HtmlTextArea.cs
- TableRowCollection.cs
- Span.cs
- CommandManager.cs
- SecurityKeyIdentifier.cs
- DbSetClause.cs
- Annotation.cs
- ColorAnimationUsingKeyFrames.cs
- GridViewItemAutomationPeer.cs
- X509ScopedServiceCertificateElement.cs
- SimpleWebHandlerParser.cs
- PageStatePersister.cs
- TearOffProxy.cs
- _ConnectionGroup.cs
- AttributeAction.cs
- BinaryFormatterWriter.cs
- OptimizedTemplateContent.cs
- WindowsTreeView.cs
- RawStylusSystemGestureInputReport.cs
- TextControl.cs
- SubtreeProcessor.cs
- _NegotiateClient.cs
- WindowsRebar.cs
- TableCellAutomationPeer.cs
- TreeBuilderBamlTranslator.cs
- IgnoreDeviceFilterElementCollection.cs
- WebException.cs
- XmlSchemaInfo.cs
- AdornedElementPlaceholder.cs
- CheckBoxDesigner.cs
- IdentifierCollection.cs
- Pen.cs
- ListViewItem.cs
- MimePart.cs
- DataPagerField.cs
- AttributeCollection.cs
- SynchronizedDisposablePool.cs
- ProjectionCamera.cs
- ToolStripContainer.cs
- Point3DCollection.cs
- Function.cs
- ReadOnlyDataSource.cs
- XmlSchemaParticle.cs
- ManagementOptions.cs
- DbDeleteCommandTree.cs
- SessionStateModule.cs
- ToolStripScrollButton.cs
- ConvertersCollection.cs
- DataObjectMethodAttribute.cs
- PasswordDeriveBytes.cs
- PropertyTabChangedEvent.cs
- ZoneButton.cs
- Attributes.cs
- Configuration.cs
- WebFormDesignerActionService.cs
- XmlSerializerObjectSerializer.cs
- CompositeDataBoundControl.cs
- SelectedDatesCollection.cs
- ToolStripDropDownClosingEventArgs.cs
- FormatVersion.cs
- WebBrowserUriTypeConverter.cs
- TypeConstant.cs
- RTLAwareMessageBox.cs
- InstanceDescriptor.cs
- ZipIOModeEnforcingStream.cs
- OleDbConnectionFactory.cs
- WindowsTooltip.cs
- ApplicationSettingsBase.cs
- NativeMethods.cs
- x509utils.cs
- WorkflowServiceHost.cs
- RuleSettingsCollection.cs