Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / TemplateBindingExtension.cs / 1305600 / TemplateBindingExtension.cs
/****************************************************************************\
*
* File: TemplateBindingExtension.cs
*
* Class for Xaml markup extension for TemplateBinds that
* can be set on the nodes of the Template VisualTree.
*
* Copyright (C) 2005 by Microsoft Corporation. All rights reserved.
*
\***************************************************************************/
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Data;
using System.Windows.Markup;
namespace System.Windows
{
///
/// Class for Xaml markup extension for TemplateBindings that
/// can be set on the nodes of the Template VisualTree.
///
[TypeConverter(typeof(TemplateBindingExtensionConverter))]
[MarkupExtensionReturnType(typeof(Object))]
public class TemplateBindingExtension : MarkupExtension
{
///
/// Constructor that takes no parameters
///
public TemplateBindingExtension()
{
}
///
/// Constructor that takes the resource key that this is a static reference to.
///
public TemplateBindingExtension(
DependencyProperty property)
{
if (property != null)
{
_property = property;
}
else
{
throw new ArgumentNullException("property");
}
}
///
/// Return an object that should be set on the targetObject's targetProperty
/// for this markup extension. For TemplateBindingExtension, this is the object found in
/// a resource dictionary in the current parent chain that is keyed by ResourceKey
///
/// ServiceProvider that can be queried for services.
///
/// The object to set on this property.
///
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (Property == null)
{
throw new InvalidOperationException(SR.Get(SRID.MarkupExtensionProperty));
}
return new TemplateBindingExpression(this);
}
///
/// Property we are binding to
///
[ConstructorArgument("property")]
public DependencyProperty Property
{
get { return _property; }
set
{
if (value == null)
{
throw new ArgumentNullException("value");
}
_property = value;
}
}
///
/// ValueConverter to interpose between the source and target properties
///
[DefaultValue(null)]
public IValueConverter Converter
{
get { return _converter; }
set
{
if (value == null)
{
throw new ArgumentNullException("value");
}
_converter = value;
}
}
///
/// ConverterParameter we are binding to
///
[DefaultValue(null)]
public object ConverterParameter
{
get { return _parameter; }
set { _parameter = value; }
}
private DependencyProperty _property;
private IValueConverter _converter;
private object _parameter;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
/****************************************************************************\
*
* File: TemplateBindingExtension.cs
*
* Class for Xaml markup extension for TemplateBinds that
* can be set on the nodes of the Template VisualTree.
*
* Copyright (C) 2005 by Microsoft Corporation. All rights reserved.
*
\***************************************************************************/
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Data;
using System.Windows.Markup;
namespace System.Windows
{
///
/// Class for Xaml markup extension for TemplateBindings that
/// can be set on the nodes of the Template VisualTree.
///
[TypeConverter(typeof(TemplateBindingExtensionConverter))]
[MarkupExtensionReturnType(typeof(Object))]
public class TemplateBindingExtension : MarkupExtension
{
///
/// Constructor that takes no parameters
///
public TemplateBindingExtension()
{
}
///
/// Constructor that takes the resource key that this is a static reference to.
///
public TemplateBindingExtension(
DependencyProperty property)
{
if (property != null)
{
_property = property;
}
else
{
throw new ArgumentNullException("property");
}
}
///
/// Return an object that should be set on the targetObject's targetProperty
/// for this markup extension. For TemplateBindingExtension, this is the object found in
/// a resource dictionary in the current parent chain that is keyed by ResourceKey
///
/// ServiceProvider that can be queried for services.
///
/// The object to set on this property.
///
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (Property == null)
{
throw new InvalidOperationException(SR.Get(SRID.MarkupExtensionProperty));
}
return new TemplateBindingExpression(this);
}
///
/// Property we are binding to
///
[ConstructorArgument("property")]
public DependencyProperty Property
{
get { return _property; }
set
{
if (value == null)
{
throw new ArgumentNullException("value");
}
_property = value;
}
}
///
/// ValueConverter to interpose between the source and target properties
///
[DefaultValue(null)]
public IValueConverter Converter
{
get { return _converter; }
set
{
if (value == null)
{
throw new ArgumentNullException("value");
}
_converter = value;
}
}
///
/// ConverterParameter we are binding to
///
[DefaultValue(null)]
public object ConverterParameter
{
get { return _parameter; }
set { _parameter = value; }
}
private DependencyProperty _property;
private IValueConverter _converter;
private object _parameter;
}
}
// 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
- StorageEndPropertyMapping.cs
- BooleanAnimationBase.cs
- ProfilePropertySettingsCollection.cs
- AnnouncementInnerClient11.cs
- XmlDictionaryReader.cs
- NodeFunctions.cs
- NameObjectCollectionBase.cs
- TextEndOfSegment.cs
- WebControl.cs
- SQLBoolean.cs
- DataGridCheckBoxColumn.cs
- KeyValueSerializer.cs
- SqlDataReader.cs
- RubberbandSelector.cs
- WebPartExportVerb.cs
- IInstanceTable.cs
- Quad.cs
- SplineKeyFrames.cs
- DesignerListAdapter.cs
- WorkflowApplicationException.cs
- AsymmetricKeyExchangeFormatter.cs
- TabletCollection.cs
- MouseBinding.cs
- HttpPostedFile.cs
- StateMachine.cs
- SqlProviderServices.cs
- MetadataCacheItem.cs
- documentation.cs
- DataRecordInternal.cs
- FixedSchema.cs
- UdpUtility.cs
- MailMessageEventArgs.cs
- RenderTargetBitmap.cs
- MobileControlBuilder.cs
- DataSetFieldSchema.cs
- DesignerDataSchemaClass.cs
- SchemaCollectionPreprocessor.cs
- XmlNamespaceDeclarationsAttribute.cs
- System.Data_BID.cs
- BaseDataList.cs
- SmiMetaData.cs
- GcSettings.cs
- WebException.cs
- WebEventCodes.cs
- HtmlTableCell.cs
- EntityStoreSchemaFilterEntry.cs
- EventSinkHelperWriter.cs
- DefaultTraceListener.cs
- LayoutInformation.cs
- ConstructorNeedsTagAttribute.cs
- MimeReturn.cs
- DropDownButton.cs
- DelegateSerializationHolder.cs
- RandomNumberGenerator.cs
- CommonObjectSecurity.cs
- MenuItemStyle.cs
- ReferencedAssembly.cs
- PersonalizablePropertyEntry.cs
- PointHitTestResult.cs
- ImageConverter.cs
- PasswordRecovery.cs
- QilScopedVisitor.cs
- TraceListeners.cs
- HtmlGenericControl.cs
- SpeechAudioFormatInfo.cs
- MenuItemBindingCollection.cs
- DocumentProperties.cs
- XpsFilter.cs
- LongSumAggregationOperator.cs
- ObjectDataSourceMethodEventArgs.cs
- SkipStoryboardToFill.cs
- LineSegment.cs
- ping.cs
- _SSPISessionCache.cs
- Literal.cs
- DocumentApplication.cs
- ContextMarshalException.cs
- ModelUIElement3D.cs
- QuaternionRotation3D.cs
- XmlObjectSerializerWriteContext.cs
- SectionXmlInfo.cs
- ISAPIApplicationHost.cs
- PartitionerQueryOperator.cs
- PageSettings.cs
- EditingCommands.cs
- Vector3DAnimationBase.cs
- BinaryUtilClasses.cs
- SelectionManager.cs
- EditBehavior.cs
- ProtectedConfigurationSection.cs
- SafeFileMappingHandle.cs
- SqlFormatter.cs
- NetworkInformationPermission.cs
- XsltCompileContext.cs
- RadioButton.cs
- HttpCapabilitiesBase.cs
- ProfileSettings.cs
- TypeElement.cs
- BlockUIContainer.cs
- CancelEventArgs.cs