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
- InstanceDataCollectionCollection.cs
- XmlDocumentFragment.cs
- PrivateFontCollection.cs
- TextOptionsInternal.cs
- httpstaticobjectscollection.cs
- SafeUserTokenHandle.cs
- DataBinder.cs
- Vector.cs
- OleDbTransaction.cs
- StateDesigner.Layouts.cs
- SQLBytesStorage.cs
- ArrangedElementCollection.cs
- SchemaTableOptionalColumn.cs
- DictionaryBase.cs
- TargetControlTypeAttribute.cs
- WindowsAuthenticationEventArgs.cs
- Label.cs
- XmlReflectionMember.cs
- ZeroOpNode.cs
- UserValidatedEventArgs.cs
- MouseDevice.cs
- AxisAngleRotation3D.cs
- SessionStateContainer.cs
- Attributes.cs
- HwndSource.cs
- BufferedGraphicsManager.cs
- DataGridViewElement.cs
- UserUseLicenseDictionaryLoader.cs
- HostVisual.cs
- ObjectStateEntry.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- Operators.cs
- CurrencyManager.cs
- StylusCaptureWithinProperty.cs
- KnownIds.cs
- DesignBindingPropertyDescriptor.cs
- XmlEncodedRawTextWriter.cs
- CustomTypeDescriptor.cs
- RTLAwareMessageBox.cs
- ToolStripLabel.cs
- DataGridViewMethods.cs
- KnownTypes.cs
- _NegoState.cs
- HiddenFieldPageStatePersister.cs
- OracleConnectionFactory.cs
- MultiView.cs
- CharacterBuffer.cs
- HttpModuleCollection.cs
- DataGridViewColumnTypePicker.cs
- ContainerVisual.cs
- XmlSecureResolver.cs
- CapiSafeHandles.cs
- CounterSet.cs
- AnnotationHelper.cs
- SqlNode.cs
- ChtmlTextWriter.cs
- TimeZone.cs
- Boolean.cs
- Property.cs
- PauseStoryboard.cs
- DataGridCell.cs
- XmlRootAttribute.cs
- ChtmlTextBoxAdapter.cs
- OdbcConnection.cs
- ReflectEventDescriptor.cs
- WebPageTraceListener.cs
- Pool.cs
- FileClassifier.cs
- TabControl.cs
- EntityDataSourceContainerNameItem.cs
- GenerateHelper.cs
- RuntimeHelpers.cs
- MediaEntryAttribute.cs
- ListParaClient.cs
- WinEventWrap.cs
- AnnotationResourceChangedEventArgs.cs
- ListViewSortEventArgs.cs
- PriorityQueue.cs
- InputLanguageCollection.cs
- Mappings.cs
- WeakReference.cs
- XhtmlBasicLabelAdapter.cs
- Trigger.cs
- TextClipboardData.cs
- TextComposition.cs
- SHA384Cng.cs
- Parser.cs
- AuthenticationModuleElementCollection.cs
- GeometryCollection.cs
- UnauthorizedAccessException.cs
- AssemblyName.cs
- HtmlInputControl.cs
- BamlRecordWriter.cs
- _BaseOverlappedAsyncResult.cs
- RetrieveVirtualItemEventArgs.cs
- RoleGroupCollection.cs
- HttpCookie.cs
- CharacterShapingProperties.cs
- WinCategoryAttribute.cs
- WinInetCache.cs