Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Controls / GroupItem.cs / 1 / GroupItem.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: GroupItem object - root of the UI subtree generated for a CollectionViewGroup // // Specs: [....]/connecteddata/M5%20General%20Docs/Data%20Styling.mht // //--------------------------------------------------------------------------- using System; using System.Collections; namespace System.Windows.Controls { ////// A GroupItem appears as the root of the visual subtree generated for a CollectionViewGroup. /// public class GroupItem : ContentControl { static GroupItem() { DefaultStyleKeyProperty.OverrideMetadata(typeof(GroupItem), new FrameworkPropertyMetadata(typeof(GroupItem))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(GroupItem)); // GroupItems should not be focusable by default FocusableProperty.OverrideMetadata(typeof(GroupItem), new FrameworkPropertyMetadata(false)); } ////// Creates AutomationPeer ( protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer() { return new System.Windows.Automation.Peers.GroupItemAutomationPeer(this); } ///) /// /// Gives a string representation of this object. /// ///internal override string GetPlainText() { System.Windows.Data.CollectionViewGroup cvg = Content as System.Windows.Data.CollectionViewGroup; if (cvg != null) { return cvg.Name.ToString(); } return base.GetPlainText(); } //----------------------------------------------------- // // Internal Properties // //----------------------------------------------------- internal ItemContainerGenerator Generator { get { return _generator; } set { _generator = value; } } //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- internal void PrepareItemContainer(object item) { ItemContainerGenerator generator = Generator.Parent; GroupStyle groupStyle = generator.GroupStyle; // apply the container style Style style = groupStyle.ContainerStyle; // no ContainerStyle set, try ContainerStyleSelector if (style == null) { if (groupStyle.ContainerStyleSelector != null) { style = groupStyle.ContainerStyleSelector.SelectStyle(item, this); } } // apply the style, if found if (style != null) { // verify style is appropriate before applying it if (!style.TargetType.IsInstanceOfType(this)) throw new InvalidOperationException(SR.Get(SRID.StyleForWrongType, style.TargetType.Name, this.GetType().Name)); this.Style = style; this.WriteInternalFlag2(InternalFlags2.IsStyleSetFromGenerator, true); } // forward the header template information if (!HasNonDefaultValue(ContentProperty)) this.Content = item; if (!HasNonDefaultValue(ContentTemplateProperty)) this.ContentTemplate = groupStyle.HeaderTemplate; if (!HasNonDefaultValue(ContentTemplateSelectorProperty)) this.ContentTemplateSelector = groupStyle.HeaderTemplateSelector; } internal void ClearContainerForItem(object item) { ItemContainerGenerator generator = Generator.Parent; GroupStyle groupStyle = generator.GroupStyle; if (Object.Equals(this.Content, item)) ClearValue(ContentProperty); if (this.ContentTemplate == groupStyle.HeaderTemplate) ClearValue(ContentTemplateProperty); if (this.ContentTemplateSelector == groupStyle.HeaderTemplateSelector) ClearValue(ContentTemplateSelectorProperty); Generator.Release(); } //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ ItemContainerGenerator _generator; #region DTypeThemeStyleKey // Returns the DependencyObjectType for the registered ThemeStyleKey's default // value. Controls will override this method to return approriate types. internal override DependencyObjectType DTypeThemeStyleKey { get { return _dType; } } private static DependencyObjectType _dType; #endregion DTypeThemeStyleKey } } // 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
- DataControlButton.cs
- TextEditorParagraphs.cs
- DesignOnlyAttribute.cs
- nulltextcontainer.cs
- Int32RectValueSerializer.cs
- SettingsBase.cs
- XPathAncestorQuery.cs
- Set.cs
- CategoryGridEntry.cs
- _ProxyRegBlob.cs
- login.cs
- Command.cs
- CopyNamespacesAction.cs
- TableProviderWrapper.cs
- NavigationPropertyEmitter.cs
- NetworkInformationPermission.cs
- DocumentSignatureManager.cs
- EventWaitHandleSecurity.cs
- BlockCollection.cs
- ObjectDisposedException.cs
- LinkTarget.cs
- RightNameExpirationInfoPair.cs
- HtmlProps.cs
- MemoryRecordBuffer.cs
- WebResponse.cs
- RemotingAttributes.cs
- DataSourceCollectionBase.cs
- LogicalMethodInfo.cs
- UserControlDocumentDesigner.cs
- InputBinder.cs
- WpfXamlLoader.cs
- KeyEvent.cs
- WebPartTransformerCollection.cs
- ByteAnimationBase.cs
- followingsibling.cs
- RSAOAEPKeyExchangeFormatter.cs
- DocumentGrid.cs
- Vector3DAnimationUsingKeyFrames.cs
- ConfigsHelper.cs
- DiagnosticSection.cs
- COM2Enum.cs
- PathFigureCollection.cs
- ParseHttpDate.cs
- OdbcDataReader.cs
- webbrowsersite.cs
- HierarchicalDataBoundControlAdapter.cs
- TrackingStringDictionary.cs
- SystemEvents.cs
- SiteMapProvider.cs
- MenuScrollingVisibilityConverter.cs
- ExitEventArgs.cs
- Application.cs
- infer.cs
- ListBoxDesigner.cs
- EventItfInfo.cs
- ViewKeyConstraint.cs
- XmlSchemaFacet.cs
- ToolStrip.cs
- EventLogRecord.cs
- CachedCompositeFamily.cs
- ClientFormsIdentity.cs
- EdgeProfileValidation.cs
- TreeNodeEventArgs.cs
- SecureConversationVersion.cs
- OracleTimeSpan.cs
- PrimitiveOperationFormatter.cs
- EntityProviderServices.cs
- ExpressionBinding.cs
- WebPartHelpVerb.cs
- EventWaitHandle.cs
- IsolationInterop.cs
- UnmanagedMemoryStream.cs
- HttpCapabilitiesBase.cs
- RotateTransform3D.cs
- Mapping.cs
- TracingConnection.cs
- Light.cs
- RsaEndpointIdentity.cs
- SqlConnectionPoolProviderInfo.cs
- PolyBezierSegment.cs
- QueryStringParameter.cs
- FramingFormat.cs
- BindingMAnagerBase.cs
- BindMarkupExtensionSerializer.cs
- DrawingCollection.cs
- ColorComboBox.cs
- RegexTree.cs
- SmiMetaData.cs
- ReadOnlyHierarchicalDataSource.cs
- CroppedBitmap.cs
- AppDomainCompilerProxy.cs
- RequestTimeoutManager.cs
- AppSettingsReader.cs
- DateTimeUtil.cs
- grammarelement.cs
- ASCIIEncoding.cs
- DecoderNLS.cs
- XmlSchemaChoice.cs
- RectangleHotSpot.cs
- WebPartConnectVerb.cs