Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / SelectorAutomationPeer.cs / 1 / SelectorAutomationPeer.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 abstract class SelectorAutomationPeer : ItemsControlAutomationPeer, ISelectionProvider
{
///
protected SelectorAutomationPeer(Selector owner): base(owner)
{}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.List;
}
///
override public object GetPattern(PatternInterface patternInterface)
{
if(patternInterface == PatternInterface.Selection)
{
return this;
}
return base.GetPattern(patternInterface); // ItemsControlAutomationPeer support Scroll pattern
}
//--------------------------------------------------------------------
//
// ISelectionProvider
//
//-------------------------------------------------------------------
#region ISelectionProvider
IRawElementProviderSimple [] ISelectionProvider.GetSelection()
{
Selector owner = (Selector)Owner;
int count = owner._selectedItems.Count;
if(count > 0 && ItemPeers.Count > 0)
{
List selectedProviders = new List(count);
for(int i=0; i AutomationInteropProvider.InvalidateLimit)
{
this.RaiseAutomationEvent(AutomationEvents.SelectionPatternOnInvalidated);
}
else
{
int i;
for (i = 0; i < numAdded; i++)
{
SelectorItemAutomationPeer peer = (SelectorItemAutomationPeer)ItemPeers[e.AddedItems[i]];
if (peer != null)
{
peer.RaiseAutomationEvent(AutomationEvents.SelectionItemPatternOnElementAddedToSelection);
}
}
for (i = 0; i < numRemoved; i++)
{
SelectorItemAutomationPeer peer = (SelectorItemAutomationPeer)ItemPeers[e.RemovedItems[i]];
if (peer != null)
{
peer.RaiseAutomationEvent(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection);
}
}
}
}
}
#endregion
}
}
// 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 abstract class SelectorAutomationPeer : ItemsControlAutomationPeer, ISelectionProvider
{
///
protected SelectorAutomationPeer(Selector owner): base(owner)
{}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.List;
}
///
override public object GetPattern(PatternInterface patternInterface)
{
if(patternInterface == PatternInterface.Selection)
{
return this;
}
return base.GetPattern(patternInterface); // ItemsControlAutomationPeer support Scroll pattern
}
//--------------------------------------------------------------------
//
// ISelectionProvider
//
//-------------------------------------------------------------------
#region ISelectionProvider
IRawElementProviderSimple [] ISelectionProvider.GetSelection()
{
Selector owner = (Selector)Owner;
int count = owner._selectedItems.Count;
if(count > 0 && ItemPeers.Count > 0)
{
List selectedProviders = new List(count);
for(int i=0; i AutomationInteropProvider.InvalidateLimit)
{
this.RaiseAutomationEvent(AutomationEvents.SelectionPatternOnInvalidated);
}
else
{
int i;
for (i = 0; i < numAdded; i++)
{
SelectorItemAutomationPeer peer = (SelectorItemAutomationPeer)ItemPeers[e.AddedItems[i]];
if (peer != null)
{
peer.RaiseAutomationEvent(AutomationEvents.SelectionItemPatternOnElementAddedToSelection);
}
}
for (i = 0; i < numRemoved; i++)
{
SelectorItemAutomationPeer peer = (SelectorItemAutomationPeer)ItemPeers[e.RemovedItems[i]];
if (peer != null)
{
peer.RaiseAutomationEvent(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection);
}
}
}
}
}
#endregion
}
}
// 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
- DataGridCellAutomationPeer.cs
- ExpressionWriter.cs
- HttpContextBase.cs
- ToolStripDropDown.cs
- x509store.cs
- EntityConnectionStringBuilderItem.cs
- DesignTimeValidationFeature.cs
- CellPartitioner.cs
- ClaimSet.cs
- PhysicalFontFamily.cs
- Span.cs
- QilParameter.cs
- BinaryObjectReader.cs
- SharedPersonalizationStateInfo.cs
- WindowsBrush.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CompletedAsyncResult.cs
- ConfigXmlReader.cs
- CreateUserErrorEventArgs.cs
- SerializableAuthorizationContext.cs
- TextFindEngine.cs
- NamedPipeChannelFactory.cs
- ProviderSettingsCollection.cs
- HtmlInputCheckBox.cs
- ErrorInfoXmlDocument.cs
- GCHandleCookieTable.cs
- EpmCustomContentSerializer.cs
- SortableBindingList.cs
- XsdSchemaFileEditor.cs
- StrongBox.cs
- StickyNoteAnnotations.cs
- MarkupWriter.cs
- XmlBinaryReader.cs
- Int32AnimationBase.cs
- SqlProvider.cs
- TraceLog.cs
- EntityDataSourceChangedEventArgs.cs
- hebrewshape.cs
- RsaKeyGen.cs
- AtlasWeb.Designer.cs
- DataGridViewImageColumn.cs
- ControlFilterExpression.cs
- FileLogRecord.cs
- CountAggregationOperator.cs
- TokenizerHelper.cs
- AdvancedBindingPropertyDescriptor.cs
- XmlTextEncoder.cs
- NodeLabelEditEvent.cs
- RoutedEventArgs.cs
- CryptoKeySecurity.cs
- ImpersonationContext.cs
- ObjRef.cs
- LastQueryOperator.cs
- DocumentPaginator.cs
- AuthenticationSection.cs
- QuaternionIndependentAnimationStorage.cs
- WindowsUpDown.cs
- IResourceProvider.cs
- ToolStripSystemRenderer.cs
- SerializationSectionGroup.cs
- DetailsViewDeleteEventArgs.cs
- PropertyDescriptorComparer.cs
- WindowsListBox.cs
- XDRSchema.cs
- AttributeSetAction.cs
- SplitterCancelEvent.cs
- WebSysDisplayNameAttribute.cs
- TypeGeneratedEventArgs.cs
- ImageFormat.cs
- StreamGeometry.cs
- Rect3DConverter.cs
- SoapHeaders.cs
- MetafileHeader.cs
- HtmlGenericControl.cs
- TextFormatterImp.cs
- SR.cs
- ListControl.cs
- XmlCollation.cs
- SimpleWebHandlerParser.cs
- ColorContext.cs
- SqlClientWrapperSmiStreamChars.cs
- RegularExpressionValidator.cs
- TemplatePropertyEntry.cs
- PageSetupDialog.cs
- Tuple.cs
- ToolStripKeyboardHandlingService.cs
- DetailsViewAutoFormat.cs
- ConvertTextFrag.cs
- RuleSettingsCollection.cs
- InputProcessorProfilesLoader.cs
- XamlGridLengthSerializer.cs
- XmlSchemaInfo.cs
- AncestorChangedEventArgs.cs
- EdmConstants.cs
- dataprotectionpermission.cs
- SqlDataSourceCustomCommandEditor.cs
- TypeExtension.cs
- TakeOrSkipWhileQueryOperator.cs
- ProviderIncompatibleException.cs
- GridEntryCollection.cs