Code:
/ 4.0 / 4.0 / 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.
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
- Marshal.cs
- AppDomain.cs
- SessionIDManager.cs
- Light.cs
- XmlSerializerAssemblyAttribute.cs
- ADRoleFactoryConfiguration.cs
- VisualStates.cs
- MonthCalendar.cs
- TdsParserStateObject.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Comparer.cs
- ConstraintStruct.cs
- InvokeMethodActivity.cs
- DelegateInArgument.cs
- Expr.cs
- SHA384Cng.cs
- WsiProfilesElementCollection.cs
- PermissionSetTriple.cs
- KnowledgeBase.cs
- SrgsGrammar.cs
- SrgsElementFactoryCompiler.cs
- SafeNativeMethods.cs
- XmlSchemaProviderAttribute.cs
- PenLineJoinValidation.cs
- safelinkcollection.cs
- XmlValidatingReader.cs
- EventProxy.cs
- XmlSubtreeReader.cs
- XmlDictionaryString.cs
- HttpHandlerActionCollection.cs
- OptionalRstParameters.cs
- AuthenticationModuleElementCollection.cs
- DictionaryEntry.cs
- ContentHostHelper.cs
- IPCCacheManager.cs
- TypeInitializationException.cs
- PasswordDeriveBytes.cs
- DataGridAddNewRow.cs
- DragStartedEventArgs.cs
- NoPersistScope.cs
- DockPanel.cs
- RadioButtonPopupAdapter.cs
- RunClient.cs
- BinHexEncoding.cs
- DesignerLoader.cs
- WebConfigurationHost.cs
- DateTimeFormat.cs
- ViewBox.cs
- TypedTableBaseExtensions.cs
- VariableQuery.cs
- FormCollection.cs
- SafeSecurityHelper.cs
- _IPv6Address.cs
- WeakEventTable.cs
- NumberFunctions.cs
- XmlNodeChangedEventArgs.cs
- RowUpdatingEventArgs.cs
- GenericTypeParameterBuilder.cs
- GridViewItemAutomationPeer.cs
- ToolStripArrowRenderEventArgs.cs
- SecurityElement.cs
- MailDefinition.cs
- itemelement.cs
- PointAnimation.cs
- SmtpNegotiateAuthenticationModule.cs
- MetabaseServerConfig.cs
- StorageBasedPackageProperties.cs
- Attributes.cs
- GenericEnumerator.cs
- Boolean.cs
- PageCatalogPart.cs
- HttpHandlerActionCollection.cs
- WebPartMinimizeVerb.cs
- Scene3D.cs
- ConstraintConverter.cs
- EmbossBitmapEffect.cs
- DynamicMetaObjectBinder.cs
- shaperfactoryquerycacheentry.cs
- StrokeDescriptor.cs
- DependencyPropertyChangedEventArgs.cs
- DiscreteKeyFrames.cs
- PageCodeDomTreeGenerator.cs
- RecognitionEventArgs.cs
- TextServicesHost.cs
- Form.cs
- TraceContextEventArgs.cs
- NumericUpDown.cs
- BamlLocalizer.cs
- HttpSessionStateBase.cs
- AnnouncementSendsAsyncResult.cs
- ApplicationManager.cs
- HtmlWindowCollection.cs
- StorageSetMapping.cs
- ItemCollection.cs
- PeerInvitationResponse.cs
- ColumnCollection.cs
- SspiHelper.cs
- TaskFormBase.cs
- NullableFloatSumAggregationOperator.cs
- PhysicalAddress.cs