Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Controls / ViewBase.cs / 1 / ViewBase.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System.Diagnostics; // Debug
using System.Windows.Automation.Peers; // IViewAutomationPeer
namespace System.Windows.Controls
{
///
/// ViewBase is something that tells the ListView the way to present each
/// entity in the data collection, i.e. the default style key.
///
public abstract class ViewBase : DependencyObject
{
#region Protected Methods
///
/// called when ListView is prepare container for item
///
/// the container
protected internal virtual void PrepareItem(ListViewItem item)
{
}
///
/// called when ListView is clear container for item
///
/// the container
protected internal virtual void ClearItem(ListViewItem item)
{
}
///
/// default style key.
/// ListView will degrate to ListBox if sub-class doesn't override
/// this value.
///
protected internal virtual object DefaultStyleKey
{
get { return typeof(ListBox); }
}
///
/// default container style key
/// The container, ListViewItem, will degrate to ListBoxItem if
/// sub-class doesn't override this value.
///
protected internal virtual object ItemContainerDefaultStyleKey
{
get { return typeof(ListBoxItem); }
}
// Propagate theme changes to contained headers
internal virtual void OnThemeChanged()
{
}
#endregion
#region InheritanceContext
///
/// InheritanceContext
///
internal override DependencyObject InheritanceContext
{
get { return _inheritanceContext; }
}
// Receive a new inheritance context
internal override void AddInheritanceContext(DependencyObject context, DependencyProperty property)
{
if (_inheritanceContext != context)
{
// Pick up the new context
_inheritanceContext = context;
OnInheritanceContextChanged(EventArgs.Empty);
}
}
// Remove an inheritance context
internal override void RemoveInheritanceContext(DependencyObject context, DependencyProperty property)
{
if (_inheritanceContext == context)
{
// clear the context
_inheritanceContext = null;
OnInheritanceContextChanged(EventArgs.Empty);
}
}
// Fields to implement DO's inheritance context
DependencyObject _inheritanceContext;
#endregion InheritanceContext
///
/// called when ListView creates its Automation peer
///
/// listview reference
/// IViewAutomationPeer
/// ListView will use this method to get an automationPeer for a given view
/// and default to the properties/patterns implemented by the view before going to
/// default fall-backs on ListView.
internal protected virtual IViewAutomationPeer GetAutomationPeer(ListView parent)
{
return null;
}
// True, when view is assigned to a ListView.
internal bool IsUsed
{
get { return _isUsed; }
set { _isUsed = value; }
}
private bool _isUsed;
}
}
// 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
- RelationshipEnd.cs
- MaskedTextProvider.cs
- MD5CryptoServiceProvider.cs
- CapabilitiesSection.cs
- LineServices.cs
- XPathNavigator.cs
- AdRotator.cs
- VectorKeyFrameCollection.cs
- XamlNamespaceHelper.cs
- SimpleTextLine.cs
- SoapAttributeAttribute.cs
- EditorZoneBase.cs
- BaseCollection.cs
- EnumerableRowCollectionExtensions.cs
- DynamicUpdateCommand.cs
- Set.cs
- InnerItemCollectionView.cs
- WizardPanel.cs
- Image.cs
- coordinatorscratchpad.cs
- sqlser.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- DataColumnPropertyDescriptor.cs
- DataGridHyperlinkColumn.cs
- UiaCoreTypesApi.cs
- WindowInteractionStateTracker.cs
- HashRepartitionEnumerator.cs
- RawTextInputReport.cs
- EdmEntityTypeAttribute.cs
- EdmToObjectNamespaceMap.cs
- AttachmentCollection.cs
- FixedElement.cs
- XmlSchemaRedefine.cs
- DataObjectEventArgs.cs
- DefaultTextStoreTextComposition.cs
- DirectoryRedirect.cs
- EmissiveMaterial.cs
- ArrayList.cs
- SessionPageStateSection.cs
- EllipticalNodeOperations.cs
- X509CertificateValidator.cs
- TimelineGroup.cs
- HtmlInputControl.cs
- StateWorkerRequest.cs
- MatchNoneMessageFilter.cs
- DoubleLink.cs
- SmiMetaData.cs
- SQLInt16Storage.cs
- BindingList.cs
- GenerateHelper.cs
- DeclarativeCatalogPart.cs
- DataGridViewLinkCell.cs
- ThreadStartException.cs
- FrameworkElement.cs
- TypeGeneratedEventArgs.cs
- CommandBindingCollection.cs
- SQLRoleProvider.cs
- SystemResources.cs
- NavigationPropertyEmitter.cs
- ExportOptions.cs
- DomainUpDown.cs
- AtomMaterializerLog.cs
- ToolStripRendererSwitcher.cs
- ToolboxComponentsCreatedEventArgs.cs
- CellQuery.cs
- ClientProxyGenerator.cs
- ToolStripOverflow.cs
- AppSettingsExpressionBuilder.cs
- ColorInterpolationModeValidation.cs
- MailWebEventProvider.cs
- GetPageNumberCompletedEventArgs.cs
- SchemaAttDef.cs
- DynamicDocumentPaginator.cs
- Point.cs
- PropertyDescriptors.cs
- SettingsPropertyNotFoundException.cs
- TextServicesCompartmentEventSink.cs
- WinFormsSecurity.cs
- TableItemProviderWrapper.cs
- DataGridViewRowHeaderCell.cs
- TextServicesProperty.cs
- BeginStoryboard.cs
- Line.cs
- Slider.cs
- UnsafeCollabNativeMethods.cs
- NativeMethods.cs
- PaperSource.cs
- VariantWrapper.cs
- PropertyItemInternal.cs
- GridItem.cs
- ProcessDesigner.cs
- XsltContext.cs
- KeyTime.cs
- XmlSchemaFacet.cs
- PersonalizableTypeEntry.cs
- Crypto.cs
- SamlAction.cs
- EventData.cs
- EntityConnectionStringBuilder.cs
- TextElement.cs