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
- Errors.cs
- ReadOnlyNameValueCollection.cs
- EnumValidator.cs
- MarkupExtensionParser.cs
- PassportPrincipal.cs
- BindingListCollectionView.cs
- RootAction.cs
- TypeExtension.cs
- DynamicMethod.cs
- StaticExtension.cs
- PrePostDescendentsWalker.cs
- DbProviderServices.cs
- BamlTreeMap.cs
- CriticalFinalizerObject.cs
- UrlMappingsModule.cs
- ConstraintEnumerator.cs
- URLMembershipCondition.cs
- RelatedCurrencyManager.cs
- RemoteWebConfigurationHostServer.cs
- Misc.cs
- Gdiplus.cs
- SmiContextFactory.cs
- SocketPermission.cs
- EUCJPEncoding.cs
- Base64Decoder.cs
- ListViewUpdatedEventArgs.cs
- ClientTargetSection.cs
- PeerTransportListenAddressValidatorAttribute.cs
- ReverseComparer.cs
- ColorPalette.cs
- WindowInteractionStateTracker.cs
- SQLByte.cs
- tooltip.cs
- IImplicitResourceProvider.cs
- GraphicsState.cs
- ActivatedMessageQueue.cs
- SamlAuthenticationClaimResource.cs
- SqlCaseSimplifier.cs
- OutputCacheProfileCollection.cs
- HwndSourceParameters.cs
- sqlcontext.cs
- DataGridViewComboBoxEditingControl.cs
- ProcessHost.cs
- KeyEvent.cs
- ContainerParaClient.cs
- QilLiteral.cs
- DataTrigger.cs
- HtmlInputText.cs
- TableNameAttribute.cs
- ListDictionaryInternal.cs
- DictionaryBase.cs
- SequenceDesignerAccessibleObject.cs
- EventData.cs
- ValidationResults.cs
- TabControlEvent.cs
- CharEnumerator.cs
- SelectionChangedEventArgs.cs
- Propagator.Evaluator.cs
- ParameterReplacerVisitor.cs
- StringValidatorAttribute.cs
- ColumnResult.cs
- SettingsBase.cs
- DrawTreeNodeEventArgs.cs
- ScriptIgnoreAttribute.cs
- TextSimpleMarkerProperties.cs
- PrintPageEvent.cs
- ToolStripComboBox.cs
- SamlAuthenticationClaimResource.cs
- AdRotator.cs
- RegexCompilationInfo.cs
- XmlNodeWriter.cs
- SqlRowUpdatingEvent.cs
- WmlFormAdapter.cs
- ListControl.cs
- WindowsScrollBarBits.cs
- HuffmanTree.cs
- StrongBox.cs
- DiscoveryDocumentSearchPattern.cs
- LicenseException.cs
- DataList.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- PersonalizationProviderCollection.cs
- StorageMappingItemCollection.cs
- HttpAsyncResult.cs
- TrustSection.cs
- MembershipAdapter.cs
- ListBox.cs
- NominalTypeEliminator.cs
- StrokeCollection2.cs
- StackOverflowException.cs
- FontFamily.cs
- SizeF.cs
- Asn1IntegerConverter.cs
- SqlTypeConverter.cs
- ConfigXmlComment.cs
- KeySplineConverter.cs
- Block.cs
- DataGridViewRowConverter.cs
- PresentationTraceSources.cs
- ProcessThreadCollection.cs