Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / ExpanderAutomationPeer.cs / 1305600 / ExpanderAutomationPeer.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
using System.Windows;
using System.Windows.Automation.Provider;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Interop;
using System.Windows.Media;
using MS.Internal;
using MS.Win32;
namespace System.Windows.Automation.Peers
{
///
public class ExpanderAutomationPeer : FrameworkElementAutomationPeer, IExpandCollapseProvider
{
///
public ExpanderAutomationPeer(Expander owner): base(owner)
{}
///
override protected string GetClassNameCore()
{
return "Expander";
}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.Group;
}
///
override public object GetPattern(PatternInterface pattern)
{
object iface = null;
if(pattern == PatternInterface.ExpandCollapse)
{
iface = this;
}
else
{
iface = base.GetPattern(pattern);
}
return iface;
}
#region ExpandCollapse
///
/// Blocking method that returns after the element has been expanded.
///
/// true if the node was successfully expanded
void IExpandCollapseProvider.Expand()
{
if (!IsEnabled())
throw new ElementNotEnabledException();
Expander owner = (Expander)((ExpanderAutomationPeer)this).Owner;
owner.IsExpanded = true;
}
///
/// Blocking method that returns after the element has been collapsed.
///
/// true if the node was successfully collapsed
void IExpandCollapseProvider.Collapse()
{
if (!IsEnabled())
throw new ElementNotEnabledException();
Expander owner = (Expander)((ExpanderAutomationPeer)this).Owner;
owner.IsExpanded = false;
}
///indicates an element's current Collapsed or Expanded state
ExpandCollapseState IExpandCollapseProvider.ExpandCollapseState
{
get
{
Expander owner = (Expander)((ExpanderAutomationPeer)this).Owner;
return owner.IsExpanded ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed;
}
}
//
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
internal void RaiseExpandCollapseAutomationEvent(bool oldValue, bool newValue)
{
RaisePropertyChangedEvent(
ExpandCollapsePatternIdentifiers.ExpandCollapseStateProperty,
oldValue ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed,
newValue ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed);
}
#endregion ExpandCollapse
}
}
// 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
- FontFamilyConverter.cs
- EmptyWithCancelationCheckWorkItem.cs
- InvalidOleVariantTypeException.cs
- BaseCollection.cs
- COM2EnumConverter.cs
- ChannelDispatcherBase.cs
- WebConfigurationHostFileChange.cs
- SafeCryptoHandles.cs
- QilTernary.cs
- AsyncPostBackTrigger.cs
- DefaultPrintController.cs
- RoleManagerSection.cs
- CheckBoxPopupAdapter.cs
- OdbcException.cs
- DbBuffer.cs
- Trace.cs
- TypeDescriptorContext.cs
- DataRow.cs
- EnumerableCollectionView.cs
- EllipticalNodeOperations.cs
- InputProviderSite.cs
- Currency.cs
- UnaryNode.cs
- DataRelationCollection.cs
- X509ServiceCertificateAuthenticationElement.cs
- RelOps.cs
- EdgeModeValidation.cs
- VisualTreeHelper.cs
- ComplexPropertyEntry.cs
- SecurityUtils.cs
- CryptoKeySecurity.cs
- ClientSettings.cs
- dbenumerator.cs
- ConfigurationValues.cs
- ErrorEventArgs.cs
- TdsParserSafeHandles.cs
- XmlSchemaCollection.cs
- ContainerFilterService.cs
- ControllableStoryboardAction.cs
- FigureParagraph.cs
- UnsafeNativeMethods.cs
- TheQuery.cs
- ActivationServices.cs
- DataSetMappper.cs
- DataSourceHelper.cs
- FastPropertyAccessor.cs
- SynchronousReceiveElement.cs
- ResizeGrip.cs
- StateBag.cs
- SystemTcpConnection.cs
- DurationConverter.cs
- TraceContextRecord.cs
- MetadataSource.cs
- ConnectionStringsSection.cs
- CommandBinding.cs
- ListParagraph.cs
- securitycriticaldataformultiplegetandset.cs
- StateMachineSubscription.cs
- CodeDelegateInvokeExpression.cs
- CodeIterationStatement.cs
- PersonalizationStateInfo.cs
- PrincipalPermission.cs
- AdRotator.cs
- cookiecontainer.cs
- FloaterBaseParaClient.cs
- DetailsViewInsertedEventArgs.cs
- autovalidator.cs
- TransactionFlowProperty.cs
- DelegatedStream.cs
- SoapSchemaImporter.cs
- TableNameAttribute.cs
- WinFormsSpinner.cs
- ByteKeyFrameCollection.cs
- XmlNotation.cs
- GeometryModel3D.cs
- DiagnosticStrings.cs
- Listbox.cs
- GridPattern.cs
- CurrentTimeZone.cs
- GeometryModel3D.cs
- UpdateDelegates.Generated.cs
- CodeGenerator.cs
- GeometryGroup.cs
- TemplateControl.cs
- DateTimeAutomationPeer.cs
- ChangeProcessor.cs
- TransformPattern.cs
- BrowserCapabilitiesCompiler.cs
- TransformedBitmap.cs
- WebConfigurationFileMap.cs
- ContainerFilterService.cs
- SemanticResultKey.cs
- BehaviorEditorPart.cs
- MsmqHostedTransportConfiguration.cs
- GeneralTransform3DCollection.cs
- ChtmlTextWriter.cs
- ViewSimplifier.cs
- SqlBuffer.cs
- FtpRequestCacheValidator.cs
- TemplateField.cs