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
- XPathEmptyIterator.cs
- WebPermission.cs
- WsrmFault.cs
- ArrayListCollectionBase.cs
- SmiRequestExecutor.cs
- RepeaterCommandEventArgs.cs
- OpenFileDialog.cs
- IssuedTokenClientBehaviorsElement.cs
- HtmlControl.cs
- TraceHwndHost.cs
- ContextMenu.cs
- RTLAwareMessageBox.cs
- PartManifestEntry.cs
- SqlRowUpdatingEvent.cs
- SpecularMaterial.cs
- PropertyPath.cs
- ComponentResourceKeyConverter.cs
- TitleStyle.cs
- CapabilitiesSection.cs
- SessionParameter.cs
- COM2PropertyDescriptor.cs
- WebWorkflowRole.cs
- DesignerActionListCollection.cs
- XmlSchemaObjectCollection.cs
- ClosableStream.cs
- Char.cs
- WebPartDisplayModeCollection.cs
- ConstrainedDataObject.cs
- StyleSelector.cs
- UrlAuthorizationModule.cs
- CatalogZoneBase.cs
- FunctionNode.cs
- AutomationPropertyInfo.cs
- ThreadExceptionDialog.cs
- PersistStreamTypeWrapper.cs
- BridgeDataRecord.cs
- GifBitmapDecoder.cs
- WindowsPen.cs
- OpacityConverter.cs
- IndentedTextWriter.cs
- RegexMatchCollection.cs
- EventData.cs
- QueryParameter.cs
- SafeNativeMethods.cs
- DesignerCalendarAdapter.cs
- ViewManager.cs
- XmlSerializationWriter.cs
- BamlBinaryReader.cs
- RuntimeCompatibilityAttribute.cs
- EventLogConfiguration.cs
- RadioButtonPopupAdapter.cs
- SqlBulkCopy.cs
- HttpHeaderCollection.cs
- DependencyObject.cs
- ModelItemDictionary.cs
- SQLInt16.cs
- DecoratedNameAttribute.cs
- StrongNameHelpers.cs
- InvokePatternIdentifiers.cs
- StylusLogic.cs
- BitmapMetadata.cs
- OleDbError.cs
- StylusPointPropertyInfo.cs
- ImageCodecInfoPrivate.cs
- PageRanges.cs
- ProcessDesigner.cs
- BaseParser.cs
- Assert.cs
- IdentityReference.cs
- UserMapPath.cs
- XmlAggregates.cs
- RawStylusInputReport.cs
- XamlFigureLengthSerializer.cs
- ProcessHostMapPath.cs
- GridViewRowCollection.cs
- XmlArrayItemAttributes.cs
- SecurityTokenTypes.cs
- DataKeyArray.cs
- mactripleDES.cs
- NewArray.cs
- ProjectionPlan.cs
- TraceLevelStore.cs
- SchemaLookupTable.cs
- MobileRedirect.cs
- XmlNodeReader.cs
- XmlParserContext.cs
- CategoryState.cs
- ListBoxItemWrapperAutomationPeer.cs
- DispatchChannelSink.cs
- PartialList.cs
- PropertyDescriptorComparer.cs
- ComPlusDiagnosticTraceRecords.cs
- ThreadTrace.cs
- GeneratedView.cs
- FrameworkContextData.cs
- SQLChars.cs
- PropertyDescriptorComparer.cs
- GregorianCalendar.cs
- WebRequest.cs
- MetadataHelper.cs