Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / ViewBase.cs / 1305600 / 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
- CheckoutException.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- MultiByteCodec.cs
- BreakSafeBase.cs
- XmlDictionary.cs
- URLAttribute.cs
- EditingMode.cs
- TraceListener.cs
- SchemaTableOptionalColumn.cs
- SqlBooleanizer.cs
- log.cs
- PriorityChain.cs
- PropertyDescriptorComparer.cs
- IHttpResponseInternal.cs
- TextServicesProperty.cs
- httpstaticobjectscollection.cs
- HostedElements.cs
- UriTemplateClientFormatter.cs
- ServiceReflector.cs
- WindowsListViewItem.cs
- PageCache.cs
- SmiEventSink_DeferedProcessing.cs
- EventMappingSettings.cs
- NodeFunctions.cs
- _BaseOverlappedAsyncResult.cs
- StringSorter.cs
- WebServiceData.cs
- SqlDataSourceView.cs
- SpeechEvent.cs
- ModuleConfigurationInfo.cs
- _ChunkParse.cs
- DataGridViewCellStateChangedEventArgs.cs
- InfoCardArgumentException.cs
- FtpWebResponse.cs
- ObjectSecurity.cs
- ObjectDataSourceDesigner.cs
- DynamicPropertyReader.cs
- BmpBitmapEncoder.cs
- ProgressBarAutomationPeer.cs
- ProcessHostConfigUtils.cs
- TabControl.cs
- Baml2006KnownTypes.cs
- ClassValidator.cs
- HierarchicalDataTemplate.cs
- HandledMouseEvent.cs
- DataGridRowClipboardEventArgs.cs
- StreamResourceInfo.cs
- ClientTargetSection.cs
- SimpleRecyclingCache.cs
- Invariant.cs
- CodeEventReferenceExpression.cs
- RemotingException.cs
- ListViewItemSelectionChangedEvent.cs
- FontDriver.cs
- DataBindingCollectionConverter.cs
- BamlMapTable.cs
- Function.cs
- IntegrationExceptionEventArgs.cs
- AudioDeviceOut.cs
- BeginEvent.cs
- SetterBaseCollection.cs
- XamlTreeBuilder.cs
- AstNode.cs
- TreeBuilder.cs
- WMICapabilities.cs
- _ProxyRegBlob.cs
- WebSysDescriptionAttribute.cs
- TextEditorSelection.cs
- WebPartRestoreVerb.cs
- ImageAttributes.cs
- PassportAuthentication.cs
- ProcessHostServerConfig.cs
- ProviderConnectionPoint.cs
- ServiceManager.cs
- ParserStack.cs
- HttpListenerElement.cs
- CertificateManager.cs
- EnumType.cs
- OuterGlowBitmapEffect.cs
- Token.cs
- DirectoryNotFoundException.cs
- Icon.cs
- TreeNodeBindingCollection.cs
- WebPartCollection.cs
- NativeMethods.cs
- figurelengthconverter.cs
- MediaTimeline.cs
- Vector3DAnimationBase.cs
- SetterTriggerConditionValueConverter.cs
- PerfService.cs
- ContentElement.cs
- CompilationUtil.cs
- RenderTargetBitmap.cs
- OperationCanceledException.cs
- KeyEvent.cs
- EndOfStreamException.cs
- WebPartEditVerb.cs
- PathGeometry.cs
- TCEAdapterGenerator.cs
- WebPartTracker.cs