Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Controls / Primitives / MultiSelector.cs / 1 / MultiSelector.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Collections; using System.Collections.ObjectModel; namespace System.Windows.Controls.Primitives { ////// Extends the Selector class by adding a multi selection support. /// public abstract class MultiSelector : Selector { ////// Returns whether or not multiple items can be selected /// protected bool CanSelectMultipleItems { get { return base.CanSelectMultiple; } set { base.CanSelectMultiple = value; } } ////// Returns the collection of currently Selected Items. /// Note, this is not the set of items that are pending selection. /// Exceptions: /// While IsUpdatingSelectedItems, using the indexer, Insert, and RemoveAt will throw InvalidOperationExceptions. /// If CanSelectMultiple is false then Adding one item to SelectedItems is valid but adding items after that is invalid and will result in an InvalidOperationException. /// [Bindable(true), Category("Appearance"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IList SelectedItems { get { return SelectedItemsImpl; } } #region BulkSelection ////// Starts a new selection transaction, setting IsUpdatingSelectedItems to true. /// Exceptions: InvalidOperationException if IsUpdatingSelectedItems is true. /// protected void BeginUpdateSelectedItems() { ((SelectedItemCollection)SelectedItems).BeginUpdateSelectedItems(); } ////// Commits a selection transaction, populating or removing items from the SelectedItems collection and resets IsUpdatingSelectedItems to false. /// Exceptions: InvalidOperationException if IsUpdatingSelectedItems is false /// protected void EndUpdateSelectedItems() { ((SelectedItemCollection)SelectedItems).EndUpdateSelectedItems(); } ////// Returns true if SelectedItems is being updated using the deferred update behavior. /// Otherwise, it is false and updating SelectedItems is immediate. /// Calling BeginUpdateSelectedItems will set this value to become true. /// Calling EndUpdateSelectedItems will cause the deferred selections to be submitted and this value to become false. /// protected bool IsUpdatingSelectedItems { get { return ((SelectedItemCollection)SelectedItems).IsUpdatingSelectedItems; } } ////// Select all the items /// Exceptions: InvalidOperationExcpetion if CanSelectMultipleItems is false /// public void SelectAll() { if (CanSelectMultipleItems) { SelectAllImpl(); } else { throw new NotSupportedException(SR.Get(SRID.MultiSelectorSelectAll)); } } ////// Clears all of the selected items. /// public void UnselectAll() { UnselectAllImpl(); } #endregion BulkSelection } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Collections; using System.Collections.ObjectModel; namespace System.Windows.Controls.Primitives { ////// Extends the Selector class by adding a multi selection support. /// public abstract class MultiSelector : Selector { ////// Returns whether or not multiple items can be selected /// protected bool CanSelectMultipleItems { get { return base.CanSelectMultiple; } set { base.CanSelectMultiple = value; } } ////// Returns the collection of currently Selected Items. /// Note, this is not the set of items that are pending selection. /// Exceptions: /// While IsUpdatingSelectedItems, using the indexer, Insert, and RemoveAt will throw InvalidOperationExceptions. /// If CanSelectMultiple is false then Adding one item to SelectedItems is valid but adding items after that is invalid and will result in an InvalidOperationException. /// [Bindable(true), Category("Appearance"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IList SelectedItems { get { return SelectedItemsImpl; } } #region BulkSelection ////// Starts a new selection transaction, setting IsUpdatingSelectedItems to true. /// Exceptions: InvalidOperationException if IsUpdatingSelectedItems is true. /// protected void BeginUpdateSelectedItems() { ((SelectedItemCollection)SelectedItems).BeginUpdateSelectedItems(); } ////// Commits a selection transaction, populating or removing items from the SelectedItems collection and resets IsUpdatingSelectedItems to false. /// Exceptions: InvalidOperationException if IsUpdatingSelectedItems is false /// protected void EndUpdateSelectedItems() { ((SelectedItemCollection)SelectedItems).EndUpdateSelectedItems(); } ////// Returns true if SelectedItems is being updated using the deferred update behavior. /// Otherwise, it is false and updating SelectedItems is immediate. /// Calling BeginUpdateSelectedItems will set this value to become true. /// Calling EndUpdateSelectedItems will cause the deferred selections to be submitted and this value to become false. /// protected bool IsUpdatingSelectedItems { get { return ((SelectedItemCollection)SelectedItems).IsUpdatingSelectedItems; } } ////// Select all the items /// Exceptions: InvalidOperationExcpetion if CanSelectMultipleItems is false /// public void SelectAll() { if (CanSelectMultipleItems) { SelectAllImpl(); } else { throw new NotSupportedException(SR.Get(SRID.MultiSelectorSelectAll)); } } ////// Clears all of the selected items. /// public void UnselectAll() { UnselectAllImpl(); } #endregion BulkSelection } } // 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
- AdPostCacheSubstitution.cs
- CustomAttributeFormatException.cs
- LogWriteRestartAreaAsyncResult.cs
- ThrowHelper.cs
- MsmqAppDomainProtocolHandler.cs
- FrameworkRichTextComposition.cs
- AutomationElementCollection.cs
- GroupBoxRenderer.cs
- WindowsSysHeader.cs
- COSERVERINFO.cs
- CommonObjectSecurity.cs
- DocumentsTrace.cs
- ClientUrlResolverWrapper.cs
- PropertyValueChangedEvent.cs
- WebPartEditorApplyVerb.cs
- ScrollItemProviderWrapper.cs
- TemplateControlParser.cs
- Walker.cs
- TableItemStyle.cs
- ColumnMapVisitor.cs
- PasswordRecovery.cs
- SqlConnectionManager.cs
- InternalBufferOverflowException.cs
- arabicshape.cs
- baseaxisquery.cs
- PageTheme.cs
- FileDialog_Vista.cs
- __ComObject.cs
- StateDesignerConnector.cs
- CombinedGeometry.cs
- XPathScanner.cs
- DesignerWidgets.cs
- ReliabilityContractAttribute.cs
- _HeaderInfoTable.cs
- XmlNamespaceMappingCollection.cs
- ComponentChangedEvent.cs
- WebPartTransformerCollection.cs
- SettingsPropertyCollection.cs
- NodeInfo.cs
- QueryOutputWriterV1.cs
- SqlRecordBuffer.cs
- UrlUtility.cs
- SQLDecimalStorage.cs
- ListViewCancelEventArgs.cs
- Compiler.cs
- ConfigXmlAttribute.cs
- EventKeyword.cs
- ActionItem.cs
- UIElementHelper.cs
- ApplicationServicesHostFactory.cs
- GetCryptoTransformRequest.cs
- EditorPart.cs
- NamedElement.cs
- SqlConnectionHelper.cs
- WebSysDescriptionAttribute.cs
- XmlSignificantWhitespace.cs
- OdbcDataAdapter.cs
- AspNetSynchronizationContext.cs
- OleDbCommand.cs
- Walker.cs
- securitycriticaldataformultiplegetandset.cs
- OutputCacheSection.cs
- Timer.cs
- Profiler.cs
- _IPv4Address.cs
- DataTable.cs
- HtmlForm.cs
- ErasingStroke.cs
- MatrixIndependentAnimationStorage.cs
- DataGridViewComboBoxCell.cs
- ChangeNode.cs
- FunctionUpdateCommand.cs
- SqlRecordBuffer.cs
- TextElementEnumerator.cs
- UnsafeNativeMethods.cs
- Queue.cs
- TablePattern.cs
- VisualTreeUtils.cs
- SubMenuStyleCollection.cs
- DocumentScope.cs
- UiaCoreTypesApi.cs
- Visitor.cs
- BitmapFrame.cs
- TextLineBreak.cs
- KeyGestureValueSerializer.cs
- SmtpFailedRecipientsException.cs
- FilterQuery.cs
- Scripts.cs
- DBDataPermissionAttribute.cs
- ApplicationDirectoryMembershipCondition.cs
- XPathSelectionIterator.cs
- CanonicalXml.cs
- ViewValidator.cs
- SuspendDesigner.cs
- WindowsIPAddress.cs
- LocatorManager.cs
- VerificationAttribute.cs
- SRGSCompiler.cs
- ActivationArguments.cs
- XPathParser.cs