Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Controls / GroupItem.cs / 2 / GroupItem.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: GroupItem object - root of the UI subtree generated for a CollectionViewGroup // // Specs: http://avalon/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 && cvg.Name != 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) { if (Generator == null) return; // user-declared GroupItem - ignore (bug 108423) 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; if (!HasNonDefaultValue(ContentStringFormatProperty)) this.ContentStringFormat = groupStyle.HeaderStringFormat; } internal void ClearContainerForItem(object item) { if (Generator == null) return; // user-declared GroupItem - ignore (bug 108423) 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); if (this.ContentStringFormat == groupStyle.HeaderStringFormat) ClearValue(ContentStringFormatProperty); 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. //---------------------------------------------------------------------------- // // // Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: GroupItem object - root of the UI subtree generated for a CollectionViewGroup // // Specs: http://avalon/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 && cvg.Name != 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) { if (Generator == null) return; // user-declared GroupItem - ignore (bug 108423) 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; if (!HasNonDefaultValue(ContentStringFormatProperty)) this.ContentStringFormat = groupStyle.HeaderStringFormat; } internal void ClearContainerForItem(object item) { if (Generator == null) return; // user-declared GroupItem - ignore (bug 108423) 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); if (this.ContentStringFormat == groupStyle.HeaderStringFormat) ClearValue(ContentStringFormatProperty); 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReliabilityContractAttribute.cs
- ClientConvert.cs
- X509CertificateStore.cs
- GradientBrush.cs
- DiscoveryCallbackBehavior.cs
- ToolboxItemFilterAttribute.cs
- TraceData.cs
- RegexWriter.cs
- RecordsAffectedEventArgs.cs
- AutoResetEvent.cs
- SqlPersonalizationProvider.cs
- HtmlControlAdapter.cs
- ComboBoxItem.cs
- SchemaCompiler.cs
- Module.cs
- PointAnimationUsingPath.cs
- CompiledRegexRunner.cs
- WindowsImpersonationContext.cs
- UIElement3D.cs
- OleDbSchemaGuid.cs
- BoundsDrawingContextWalker.cs
- MdImport.cs
- HostExecutionContextManager.cs
- DataControlImageButton.cs
- ClientUtils.cs
- MessageSmuggler.cs
- SqlTransaction.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- EDesignUtil.cs
- RefreshPropertiesAttribute.cs
- SerializationInfo.cs
- TagMapInfo.cs
- WinInet.cs
- ThemeInfoAttribute.cs
- SerialPinChanges.cs
- WebDisplayNameAttribute.cs
- ProviderCollection.cs
- SelectedDatesCollection.cs
- SoapServerProtocol.cs
- ExpressionBinding.cs
- HttpHandler.cs
- ErrorTableItemStyle.cs
- _UriSyntax.cs
- hebrewshape.cs
- Pens.cs
- HierarchicalDataSourceDesigner.cs
- TextElement.cs
- ClientRolePrincipal.cs
- ValueChangedEventManager.cs
- CodePageUtils.cs
- SecurityTokenProvider.cs
- XamlInt32CollectionSerializer.cs
- XmlSecureResolver.cs
- DisposableCollectionWrapper.cs
- ThousandthOfEmRealDoubles.cs
- StorageFunctionMapping.cs
- SystemColors.cs
- SystemIPInterfaceProperties.cs
- UserThread.cs
- SupportsEventValidationAttribute.cs
- FormsAuthenticationEventArgs.cs
- SqlUDTStorage.cs
- CollectionBuilder.cs
- RunInstallerAttribute.cs
- SqlGatherProducedAliases.cs
- XPathDescendantIterator.cs
- SmtpReplyReaderFactory.cs
- FullTextBreakpoint.cs
- VirtualPathData.cs
- objectquery_tresulttype.cs
- BrushMappingModeValidation.cs
- PointCollectionConverter.cs
- EdmSchemaAttribute.cs
- TransactionScopeDesigner.cs
- Rect3D.cs
- ContainerUIElement3D.cs
- _IPv4Address.cs
- Rect3DConverter.cs
- TemplateKey.cs
- TextServicesPropertyRanges.cs
- CacheVirtualItemsEvent.cs
- TextDecorationUnitValidation.cs
- _AcceptOverlappedAsyncResult.cs
- Control.cs
- GlobalAclOperationRequirement.cs
- TaskFormBase.cs
- ThrowOnMultipleAssignment.cs
- XmlLinkedNode.cs
- UTF7Encoding.cs
- StateManagedCollection.cs
- OdbcConnectionFactory.cs
- StartFileNameEditor.cs
- FormViewCommandEventArgs.cs
- RoleManagerSection.cs
- ReferencedCategoriesDocument.cs
- DbCommandDefinition.cs
- PriorityQueue.cs
- InternalBase.cs
- ReferenceAssemblyAttribute.cs
- XmlNamespaceDeclarationsAttribute.cs