Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / 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.
//----------------------------------------------------------------------------
//
// 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
- MostlySingletonList.cs
- ExtendedProtectionPolicy.cs
- AuthenticateEventArgs.cs
- FocusWithinProperty.cs
- WindowsAltTab.cs
- ToolStripRenderEventArgs.cs
- ListView.cs
- OleDbDataAdapter.cs
- TraceHandlerErrorFormatter.cs
- ToolStripCodeDomSerializer.cs
- DataMisalignedException.cs
- ParallelTimeline.cs
- RuntimeCompatibilityAttribute.cs
- WaitHandle.cs
- DataStorage.cs
- XPathPatternBuilder.cs
- ManagementEventArgs.cs
- SchemaImporter.cs
- Simplifier.cs
- UnhandledExceptionEventArgs.cs
- DesignerVerbCollection.cs
- ObjectContext.cs
- ComponentChangedEvent.cs
- XsdDateTime.cs
- ByteConverter.cs
- OleDbPropertySetGuid.cs
- UpdateProgress.cs
- AppDomainGrammarProxy.cs
- SimpleMailWebEventProvider.cs
- VectorConverter.cs
- SafeEventLogReadHandle.cs
- WebConfigurationHost.cs
- DocumentXmlWriter.cs
- EventHandlerList.cs
- GlyphShapingProperties.cs
- Metadata.cs
- DictionarySectionHandler.cs
- DateTimeOffset.cs
- XmlSchemaType.cs
- ConfigDefinitionUpdates.cs
- DbConnectionPoolOptions.cs
- TableLayoutPanel.cs
- diagnosticsswitches.cs
- ParameterCollection.cs
- XmlSchemaCollection.cs
- TypeUtil.cs
- SqlTypeSystemProvider.cs
- DocumentViewerBase.cs
- XsltLibrary.cs
- AttributeSetAction.cs
- PropertyStore.cs
- PinProtectionHelper.cs
- ComNativeDescriptor.cs
- OlePropertyStructs.cs
- Wizard.cs
- SoapInteropTypes.cs
- SerialStream.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- SqlRecordBuffer.cs
- MachineKey.cs
- SmiEventSink.cs
- TrustLevel.cs
- ExternalCalls.cs
- ExtractorMetadata.cs
- ReceiveDesigner.xaml.cs
- Serializer.cs
- ErrorReporting.cs
- PathFigureCollection.cs
- BindingMAnagerBase.cs
- WebPartTracker.cs
- MarkerProperties.cs
- PrivilegedConfigurationManager.cs
- ByteAnimationBase.cs
- SelectionRange.cs
- TransformCollection.cs
- EntityDataSource.cs
- DocumentReference.cs
- ComponentResourceKey.cs
- WebMessageEncodingBindingElement.cs
- SourceLineInfo.cs
- DependencyObjectProvider.cs
- OpCopier.cs
- LinqDataSourceDisposeEventArgs.cs
- AnnotationDocumentPaginator.cs
- MethodInfo.cs
- AsymmetricKeyExchangeFormatter.cs
- UpDownBase.cs
- XmlWrappingReader.cs
- AccessKeyManager.cs
- DecoderReplacementFallback.cs
- XhtmlBasicValidatorAdapter.cs
- Constants.cs
- RectangleConverter.cs
- KeySplineConverter.cs
- SimpleHandlerFactory.cs
- ToolStripContextMenu.cs
- UrlPath.cs
- EntityDesignerUtils.cs
- Rijndael.cs
- EtwTrackingBehavior.cs