Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / StatusBar.cs / 1305600 / StatusBar.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Windows.Automation.Peers; using System.Windows.Media; using System.Windows.Threading; using MS.Internal.KnownBoxes; namespace System.Windows.Controls.Primitives { ////// StatusBar is a visual indicator of the operational status of an application and/or /// its components running in a window. StatusBar control consists of a series of zones /// on a band that can display text, graphics, or other rich content. The control can /// group items within these zones to emphasize relational similarities or functional /// connections. The StatusBar can accommodate multiple sets of UI or functionality that /// can be chosen even within the same application. /// [StyleTypedProperty(Property = "ItemContainerStyle", StyleTargetType = typeof(StatusBarItem))] public class StatusBar : ItemsControl { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors static StatusBar() { DefaultStyleKeyProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(typeof(StatusBar))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(StatusBar)); IsTabStopProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox)); ItemsPanelTemplate template = new ItemsPanelTemplate(new FrameworkElementFactory(typeof(DockPanel))); template.Seal(); ItemsPanelProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(template)); } #endregion //-------------------------------------------------------------------- // // Protected Methods // //------------------------------------------------------------------- #region Protected Methods ////// Return true if the item is (or is eligible to be) its own ItemUI /// protected override bool IsItemItsOwnContainerOverride(object item) { return (item is StatusBarItem) || (item is Separator); } ////// Create or identify the element used to display the given item /// protected override DependencyObject GetContainerForItemOverride() { return new StatusBarItem(); } ////// Prepare the element to display the item. This may involve /// applying styles, setting bindings, etc. /// protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); Separator separator = element as Separator; if (separator != null) { bool hasModifiers; BaseValueSourceInternal vs = separator.GetValueSource(StyleProperty, null, out hasModifiers); if (vs <= BaseValueSourceInternal.ImplicitReference) separator.SetResourceReference(StyleProperty, SeparatorStyleKey); separator.DefaultStyleKey = SeparatorStyleKey; } } ////// Determine whether the ItemContainerStyle/StyleSelector should apply to the container /// ///false if item is a Separator, otherwise return true protected override bool ShouldApplyItemContainerStyle(DependencyObject container, object item) { if (item is Separator) { return false; } else { return base.ShouldApplyItemContainerStyle(container, item); } } #endregion #region Accessibility ////// Creates AutomationPeer ( protected override AutomationPeer OnCreateAutomationPeer() { return new StatusBarAutomationPeer(this); } #endregion #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 #region ItemsStyleKey ///) /// /// Resource Key for the SeparatorStyle /// public static ResourceKey SeparatorStyleKey { get { return SystemResourceKey.StatusBarSeparatorStyleKey; } } #endregion } } // 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
- RepeaterCommandEventArgs.cs
- ConfigXmlWhitespace.cs
- XmlHierarchicalDataSourceView.cs
- CharConverter.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CodeDirectiveCollection.cs
- IncrementalReadDecoders.cs
- XmlDesignerDataSourceView.cs
- ImplicitInputBrush.cs
- UTF8Encoding.cs
- RectAnimationUsingKeyFrames.cs
- XmlNamespaceMapping.cs
- ColumnResizeUndoUnit.cs
- PropertyGeneratedEventArgs.cs
- Normalization.cs
- MemoryStream.cs
- SQLBinary.cs
- ConnectionManagementElementCollection.cs
- DrawingCollection.cs
- DateTimeSerializationSection.cs
- DataGridViewRowCancelEventArgs.cs
- XpsS0ValidatingLoader.cs
- PixelShader.cs
- ListenerConstants.cs
- XmlSchemaChoice.cs
- TextEndOfSegment.cs
- FeatureManager.cs
- ECDiffieHellman.cs
- SoapAttributeAttribute.cs
- ResourcePermissionBase.cs
- HtmlFormWrapper.cs
- InternalBase.cs
- ConnectionManagementElementCollection.cs
- unitconverter.cs
- isolationinterop.cs
- AutomationPatternInfo.cs
- handlecollector.cs
- WriteFileContext.cs
- ChannelTerminatedException.cs
- securitycriticaldataClass.cs
- ProxyWebPartManager.cs
- DomainConstraint.cs
- AutomationProperties.cs
- ContactManager.cs
- SafeArrayRankMismatchException.cs
- ToolStripPanelRenderEventArgs.cs
- SerializationIncompleteException.cs
- ListControlConvertEventArgs.cs
- LinkDesigner.cs
- DoubleLinkList.cs
- CallSiteOps.cs
- OracleCommand.cs
- EntityObject.cs
- MultiView.cs
- TreeNodeCollection.cs
- DataAccessor.cs
- DecimalAnimationBase.cs
- HttpConfigurationContext.cs
- UserNameSecurityTokenAuthenticator.cs
- WebRequestModulesSection.cs
- DefaultTypeArgumentAttribute.cs
- DataGridViewSelectedColumnCollection.cs
- FileDetails.cs
- EntityClassGenerator.cs
- HttpConfigurationSystem.cs
- HttpContextWrapper.cs
- CompModSwitches.cs
- PersonalizationEntry.cs
- assertwrapper.cs
- DesignerInterfaces.cs
- BamlLocalizableResource.cs
- ExpressionVisitorHelpers.cs
- GreenMethods.cs
- StorageTypeMapping.cs
- ValueQuery.cs
- BaseCollection.cs
- ObjectManager.cs
- CompositionTarget.cs
- TemplateBuilder.cs
- ThicknessAnimation.cs
- AnimationClockResource.cs
- UnionCodeGroup.cs
- _AuthenticationState.cs
- XhtmlConformanceSection.cs
- Matrix3DValueSerializer.cs
- ExceptionValidationRule.cs
- AttributeEmitter.cs
- QueryOutputWriter.cs
- DbParameterCollection.cs
- NativeMethods.cs
- FieldAccessException.cs
- BamlMapTable.cs
- HandleValueEditor.cs
- XmlBinaryWriterSession.cs
- Rect.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- IdentityReference.cs
- ConfigurationManagerHelper.cs
- StylusPointPropertyId.cs
- SafeCryptoKeyHandle.cs