Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Controls / Primitives / StatusBar.cs / 1 / 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 { if (_cacheSeparatorStyle == null) { _cacheSeparatorStyle = new SystemThemeKey(SystemResourceKeyID.StatusBarSeparatorStyle); } return _cacheSeparatorStyle; } } private static SystemThemeKey _cacheSeparatorStyle; #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
- SystemGatewayIPAddressInformation.cs
- HttpModuleActionCollection.cs
- InkPresenter.cs
- DocumentGridPage.cs
- ALinqExpressionVisitor.cs
- WebPartTransformerCollection.cs
- PrefixQName.cs
- StrongNameUtility.cs
- ButtonFieldBase.cs
- XmlSchemaInclude.cs
- ZipIOModeEnforcingStream.cs
- _HelperAsyncResults.cs
- TypeTypeConverter.cs
- TrackingRecord.cs
- DockingAttribute.cs
- SqlGenericUtil.cs
- ConfigurationLocation.cs
- XPathAxisIterator.cs
- MimeTextImporter.cs
- GroupLabel.cs
- StackBuilderSink.cs
- HelpFileFileNameEditor.cs
- EntityProviderFactory.cs
- ToolStripItemCollection.cs
- MarshalByValueComponent.cs
- CommandBindingCollection.cs
- SmtpReplyReader.cs
- SafeWaitHandle.cs
- ExtenderControl.cs
- PropertyChangedEventArgs.cs
- XmlSchemaImporter.cs
- SmiConnection.cs
- ConfigXmlCDataSection.cs
- IntegerFacetDescriptionElement.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- XmlSerializerVersionAttribute.cs
- WindowsToolbarAsMenu.cs
- DataGridHeaderBorder.cs
- SynchronousChannelMergeEnumerator.cs
- TableRow.cs
- SmtpTransport.cs
- LocalValueEnumerator.cs
- TableCellAutomationPeer.cs
- OdbcStatementHandle.cs
- EvidenceBase.cs
- ImageConverter.cs
- AnnotationHighlightLayer.cs
- JapaneseLunisolarCalendar.cs
- TextTreeTextNode.cs
- LinkedList.cs
- XsltException.cs
- __Filters.cs
- Track.cs
- safex509handles.cs
- TagPrefixAttribute.cs
- NumericUpDown.cs
- ModuleElement.cs
- JournalEntryStack.cs
- XmlSerializerFactory.cs
- ReaderWriterLockWrapper.cs
- OracleParameterCollection.cs
- XmlDocumentSurrogate.cs
- CompiledQuery.cs
- CollectionDataContractAttribute.cs
- GridViewRowCollection.cs
- FormatterConverter.cs
- XPathAxisIterator.cs
- TreeView.cs
- HtmlMobileTextWriter.cs
- DecimalAnimation.cs
- NamespaceEmitter.cs
- ReadWriteSpinLock.cs
- Int64KeyFrameCollection.cs
- SchemaInfo.cs
- NumberFunctions.cs
- WindowsListViewItemStartMenu.cs
- ObjectSecurityT.cs
- SQLMembershipProvider.cs
- PriorityBinding.cs
- CapabilitiesUse.cs
- Visual.cs
- SystemTcpStatistics.cs
- LogFlushAsyncResult.cs
- Module.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- DragDeltaEventArgs.cs
- XamlHttpHandlerFactory.cs
- ImageAnimator.cs
- DbDataSourceEnumerator.cs
- MyContact.cs
- ListViewDesigner.cs
- ContentElementAutomationPeer.cs
- ResXResourceSet.cs
- PrincipalPermission.cs
- TdsParserStaticMethods.cs
- ISAPIRuntime.cs
- ContractAdapter.cs
- DataRecord.cs
- TranslateTransform.cs
- HyperLinkColumn.cs