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
- FileDialog_Vista.cs
- SQLChars.cs
- ProviderUtil.cs
- JsonXmlDataContract.cs
- FieldDescriptor.cs
- ScalarType.cs
- OracleCommand.cs
- ITextView.cs
- ServiceTimeoutsBehavior.cs
- BrushValueSerializer.cs
- ADConnectionHelper.cs
- _ConnectOverlappedAsyncResult.cs
- StandardBindingCollectionElement.cs
- ReadWriteSpinLock.cs
- DetailsViewModeEventArgs.cs
- ThicknessKeyFrameCollection.cs
- QueryStringParameter.cs
- GenericIdentity.cs
- ColumnHeader.cs
- File.cs
- UserControl.cs
- EraserBehavior.cs
- SqlDataSourceView.cs
- TransactionTable.cs
- XmlAttributeCollection.cs
- CompiledQuery.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- TimeIntervalCollection.cs
- TagMapCollection.cs
- ReturnEventArgs.cs
- WSFederationHttpSecurityMode.cs
- PartialCachingAttribute.cs
- ConnectionsZone.cs
- PKCS1MaskGenerationMethod.cs
- HttpModuleCollection.cs
- ChildDocumentBlock.cs
- SafeReversePInvokeHandle.cs
- DataPagerFieldCollection.cs
- ConversionValidationRule.cs
- OdbcEnvironmentHandle.cs
- DropShadowEffect.cs
- SecurityContext.cs
- ScrollProviderWrapper.cs
- QilNode.cs
- KnownBoxes.cs
- StdRegProviderWrapper.cs
- SqlDataSourceCommandEventArgs.cs
- OleDbParameterCollection.cs
- HwndMouseInputProvider.cs
- NetStream.cs
- BinaryWriter.cs
- SoapDocumentServiceAttribute.cs
- URI.cs
- UseManagedPresentationElement.cs
- BasicCellRelation.cs
- AmbientValueAttribute.cs
- DataSysAttribute.cs
- EncryptedKey.cs
- XamlToRtfParser.cs
- WebMessageEncodingBindingElement.cs
- TemplateParser.cs
- UnsafeNativeMethodsCLR.cs
- LocalBuilder.cs
- AvTraceDetails.cs
- SrgsSemanticInterpretationTag.cs
- MouseWheelEventArgs.cs
- ProcessModule.cs
- CoTaskMemUnicodeSafeHandle.cs
- ElementInit.cs
- ModulesEntry.cs
- Query.cs
- SafeTimerHandle.cs
- SemanticResultValue.cs
- WhitespaceSignificantCollectionAttribute.cs
- TraceUtils.cs
- TextBoxLine.cs
- XmlSortKeyAccumulator.cs
- ResourceReader.cs
- Converter.cs
- dbdatarecord.cs
- MouseGestureValueSerializer.cs
- OleDbFactory.cs
- ClaimTypes.cs
- SqlParameterCollection.cs
- BaseTemplateCodeDomTreeGenerator.cs
- PointLightBase.cs
- Lease.cs
- Ref.cs
- DiscardableAttribute.cs
- XmlElementCollection.cs
- GeometryConverter.cs
- FixedPageProcessor.cs
- Pkcs7Signer.cs
- TreeViewDataItemAutomationPeer.cs
- ApplicationProxyInternal.cs
- Site.cs
- PropertyGridCommands.cs
- VerticalAlignConverter.cs
- XmlCharType.cs
- ParseChildrenAsPropertiesAttribute.cs