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
- AssemblyResourceLoader.cs
- XmlResolver.cs
- Double.cs
- CmsUtils.cs
- ItemCollection.cs
- DataControlFieldCell.cs
- DesignerSerializationVisibilityAttribute.cs
- MemberPath.cs
- SqlEnums.cs
- PropertyInfoSet.cs
- ValueType.cs
- SemaphoreSecurity.cs
- TreeNode.cs
- TrustManagerPromptUI.cs
- Matrix3DStack.cs
- CachedRequestParams.cs
- UdpDiscoveryMessageFilter.cs
- ViewStateException.cs
- ContentPresenter.cs
- InstanceDataCollectionCollection.cs
- PartitionResolver.cs
- SqlGenerator.cs
- XmlTextEncoder.cs
- WebPartsPersonalization.cs
- SqlDataSourceStatusEventArgs.cs
- FillBehavior.cs
- Sorting.cs
- ColorComboBox.cs
- TreeBuilderXamlTranslator.cs
- EraserBehavior.cs
- Blend.cs
- Column.cs
- LocalBuilder.cs
- NativeWindow.cs
- _TransmitFileOverlappedAsyncResult.cs
- CrossSiteScriptingValidation.cs
- NetworkAddressChange.cs
- DialogBaseForm.cs
- XmlWrappingReader.cs
- XslNumber.cs
- Window.cs
- SchemaAttDef.cs
- ScrollChrome.cs
- ConditionValidator.cs
- XPathItem.cs
- RawAppCommandInputReport.cs
- AccessorTable.cs
- DesignerImageAdapter.cs
- MenuItemCollectionEditorDialog.cs
- Decimal.cs
- MorphHelpers.cs
- DataGridViewCellCancelEventArgs.cs
- ExpandedWrapper.cs
- PointCollection.cs
- JulianCalendar.cs
- TableColumnCollection.cs
- SamlEvidence.cs
- RectangleConverter.cs
- UIElementAutomationPeer.cs
- Registry.cs
- DataGridRow.cs
- PropertyGridEditorPart.cs
- WinInet.cs
- ConstraintEnumerator.cs
- ServiceProviders.cs
- PerfCounterSection.cs
- DataRelation.cs
- ActivityMetadata.cs
- ServiceEndpointAssociationProvider.cs
- TextEditorTyping.cs
- RtfToXamlReader.cs
- SqlDependencyListener.cs
- ObjectViewQueryResultData.cs
- ActivityExecutorSurrogate.cs
- HiddenFieldDesigner.cs
- XmlTypeAttribute.cs
- EnumerableWrapperWeakToStrong.cs
- JournalEntry.cs
- PixelFormatConverter.cs
- SelectionItemPattern.cs
- CustomAttributeFormatException.cs
- ToolStripLocationCancelEventArgs.cs
- WebPartConnectionsEventArgs.cs
- ListItemCollection.cs
- ComponentManagerBroker.cs
- ContentOperations.cs
- _WinHttpWebProxyDataBuilder.cs
- PropertyBuilder.cs
- MaterialGroup.cs
- XmlnsDefinitionAttribute.cs
- SqlCacheDependency.cs
- CompilerResults.cs
- CheckBox.cs
- WeakReference.cs
- ManagementNamedValueCollection.cs
- ReverseInheritProperty.cs
- SafeFindHandle.cs
- TableAdapterManagerNameHandler.cs
- SqlCommand.cs
- DictionarySurrogate.cs