Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / 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: 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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OdbcConnectionFactory.cs
- OpenTypeLayoutCache.cs
- ColorEditor.cs
- StartUpEventArgs.cs
- SharedStatics.cs
- IBuiltInEvidence.cs
- DllNotFoundException.cs
- BaseTemplateBuildProvider.cs
- WebResponse.cs
- Row.cs
- SerialPinChanges.cs
- ViewManager.cs
- SourceChangedEventArgs.cs
- invalidudtexception.cs
- DateTimePicker.cs
- MasterPageParser.cs
- Inline.cs
- InheritanceContextChangedEventManager.cs
- ServiceOperationWrapper.cs
- DockAndAnchorLayout.cs
- DbConnectionHelper.cs
- ParagraphVisual.cs
- MouseActionConverter.cs
- SerializeAbsoluteContext.cs
- TemplateXamlParser.cs
- AspNetSynchronizationContext.cs
- HelpProvider.cs
- SemanticBasicElement.cs
- HandleExceptionArgs.cs
- PropertiesTab.cs
- ScriptModule.cs
- ConfigurationSchemaErrors.cs
- XmlEncApr2001.cs
- Function.cs
- UpDownBaseDesigner.cs
- TypographyProperties.cs
- SoapServerProtocol.cs
- ScrollItemPattern.cs
- TabletDeviceInfo.cs
- StylusPointProperty.cs
- QilXmlWriter.cs
- SqlErrorCollection.cs
- SqlMetaData.cs
- Canvas.cs
- ListBindingConverter.cs
- ClientBuildManagerCallback.cs
- OdbcConnectionOpen.cs
- LinkArea.cs
- OleDbDataReader.cs
- DetailsViewInsertEventArgs.cs
- DataSourceCacheDurationConverter.cs
- NotSupportedException.cs
- AmbientLight.cs
- EpmSyndicationContentDeSerializer.cs
- SpellerInterop.cs
- MobileTextWriter.cs
- SystemInfo.cs
- ByteArrayHelperWithString.cs
- CodeDirectiveCollection.cs
- XmlDataFileEditor.cs
- PropertyTab.cs
- ExpressionBuilder.cs
- PropertyRef.cs
- ServiceOperationParameter.cs
- CollectionsUtil.cs
- LoginView.cs
- HierarchicalDataBoundControlAdapter.cs
- LoginCancelEventArgs.cs
- BindingGroup.cs
- ProvidePropertyAttribute.cs
- RouteValueDictionary.cs
- SqlDataSourceCache.cs
- SiteMapProvider.cs
- Automation.cs
- SqlServices.cs
- WebPartUtil.cs
- SqlError.cs
- TimelineGroup.cs
- ExtendedProperty.cs
- StrongNameMembershipCondition.cs
- SafeRightsManagementSessionHandle.cs
- PointLight.cs
- Set.cs
- __Filters.cs
- InProcStateClientManager.cs
- ReceiveContextCollection.cs
- SharedUtils.cs
- TriggerActionCollection.cs
- LongPath.cs
- TableItemPattern.cs
- AdornedElementPlaceholder.cs
- SoapRpcServiceAttribute.cs
- XmlQualifiedName.cs
- GridViewPageEventArgs.cs
- VisualTarget.cs
- ACL.cs
- SendActivityDesignerTheme.cs
- FormsAuthenticationUserCollection.cs
- StringArrayEditor.cs
- AdditionalEntityFunctions.cs