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
- RestClientProxyHandler.cs
- DbParameterCollection.cs
- CodeAttributeArgumentCollection.cs
- CornerRadius.cs
- HttpRequestMessageProperty.cs
- ServiceActivationException.cs
- ControlPersister.cs
- GlyphCollection.cs
- X509CertificateInitiatorClientCredential.cs
- TraceContextEventArgs.cs
- CustomLineCap.cs
- WCFServiceClientProxyGenerator.cs
- IntPtr.cs
- LayoutEditorPart.cs
- Dictionary.cs
- TextContainerChangeEventArgs.cs
- OciHandle.cs
- VerificationAttribute.cs
- PriorityItem.cs
- ContentElementAutomationPeer.cs
- WebPartDescription.cs
- Overlapped.cs
- SamlSubject.cs
- UdpSocketReceiveManager.cs
- Point4D.cs
- DesignObjectWrapper.cs
- ReceiveCompletedEventArgs.cs
- SharedUtils.cs
- UnsafeNativeMethods.cs
- ColumnHeader.cs
- ToolStripItemClickedEventArgs.cs
- MSG.cs
- _StreamFramer.cs
- Inline.cs
- StickyNote.cs
- RichTextBox.cs
- XmlBindingWorker.cs
- ShapingEngine.cs
- EmbeddedMailObject.cs
- StaticExtensionConverter.cs
- FloatMinMaxAggregationOperator.cs
- AbsoluteQuery.cs
- FixedSOMTableCell.cs
- XmlArrayAttribute.cs
- MarkupWriter.cs
- PrimarySelectionGlyph.cs
- LingerOption.cs
- ExceptionCollection.cs
- LinqDataSourceContextData.cs
- infer.cs
- IntegerValidatorAttribute.cs
- DateRangeEvent.cs
- OracleCommand.cs
- XmlSchemaSimpleContent.cs
- ActivitySurrogateSelector.cs
- RuleInfoComparer.cs
- XamlClipboardData.cs
- ExceptionValidationRule.cs
- ImageClickEventArgs.cs
- ConstraintStruct.cs
- XmlQualifiedName.cs
- PageParserFilter.cs
- BindingsCollection.cs
- ScrollableControl.cs
- CFStream.cs
- CodeGeneratorAttribute.cs
- CursorConverter.cs
- DataGridColumnEventArgs.cs
- MemoryMappedViewStream.cs
- UshortList2.cs
- ExportOptions.cs
- FrameworkElementFactory.cs
- Quaternion.cs
- _Rfc2616CacheValidators.cs
- Opcode.cs
- ClientSettingsProvider.cs
- GeneralTransformCollection.cs
- ObjectSecurity.cs
- WeakHashtable.cs
- ListManagerBindingsCollection.cs
- BuildDependencySet.cs
- CreatingCookieEventArgs.cs
- MappingMetadataHelper.cs
- Rules.cs
- RoleServiceManager.cs
- DrawingContextDrawingContextWalker.cs
- NotFiniteNumberException.cs
- DataGridColumnHeadersPresenter.cs
- ResourceDescriptionAttribute.cs
- UpdateEventArgs.cs
- DataGridViewCellFormattingEventArgs.cs
- MaterialGroup.cs
- AssociationSet.cs
- WmpBitmapEncoder.cs
- DetailsViewDeleteEventArgs.cs
- ExtenderControl.cs
- ElementAction.cs
- BulletDecorator.cs
- RelationshipConverter.cs
- NavigationProperty.cs