Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / TemplateBindingExtension.cs / 1 / 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))]
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))]
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
- FixedHyperLink.cs
- TabControl.cs
- UpdateCommand.cs
- IdentityManager.cs
- ActivationServices.cs
- VariableQuery.cs
- BoolExpr.cs
- FilteredSchemaElementLookUpTable.cs
- HashMembershipCondition.cs
- GridViewRow.cs
- DataGridViewDataConnection.cs
- ZoneButton.cs
- XmlChildNodes.cs
- BamlRecordHelper.cs
- CompareValidator.cs
- DrawingVisualDrawingContext.cs
- HtmlHead.cs
- OrCondition.cs
- UnsafeNativeMethods.cs
- FileUtil.cs
- ErrorFormatterPage.cs
- EntityParameterCollection.cs
- ParentControlDesigner.cs
- ListBoxChrome.cs
- VisualCollection.cs
- AssertFilter.cs
- ImmutableAssemblyCacheEntry.cs
- ImageIndexConverter.cs
- WMICapabilities.cs
- QuaternionAnimationUsingKeyFrames.cs
- TraceHandler.cs
- Point.cs
- ServiceChannelFactory.cs
- GroupItemAutomationPeer.cs
- FtpWebRequest.cs
- ImageListDesigner.cs
- CultureMapper.cs
- SqlIdentifier.cs
- LineServicesCallbacks.cs
- SoapServerProtocol.cs
- BaseDataBoundControl.cs
- SqlNode.cs
- XNameTypeConverter.cs
- PrintingPermissionAttribute.cs
- SmtpException.cs
- CatalogPartChrome.cs
- PaginationProgressEventArgs.cs
- OutputCacheProfile.cs
- TraceUtility.cs
- SqlException.cs
- InvalidContentTypeException.cs
- ObjectStateFormatter.cs
- EncodingDataItem.cs
- ScrollChrome.cs
- Set.cs
- AndCondition.cs
- FlatButtonAppearance.cs
- DocumentCollection.cs
- EntityDataSourceChangedEventArgs.cs
- PolicyValidationException.cs
- RIPEMD160.cs
- ObjectSpanRewriter.cs
- MailSettingsSection.cs
- CallbackException.cs
- RemoteCryptoSignHashRequest.cs
- DockAndAnchorLayout.cs
- RootAction.cs
- LineInfo.cs
- ReferenceEqualityComparer.cs
- NativeMethodsOther.cs
- MultipleViewPattern.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- SafeViewOfFileHandle.cs
- IsolationInterop.cs
- PointUtil.cs
- SignedXml.cs
- PersistenceException.cs
- ErrorWrapper.cs
- TokenBasedSetEnumerator.cs
- StretchValidation.cs
- FixedTextPointer.cs
- OdbcConnectionStringbuilder.cs
- TypeExtensionConverter.cs
- HttpCapabilitiesBase.cs
- XmlSchemaType.cs
- KeyboardEventArgs.cs
- NameSpaceEvent.cs
- NavigationProperty.cs
- SqlComparer.cs
- ImageClickEventArgs.cs
- _NegotiateClient.cs
- Color.cs
- RegexTypeEditor.cs
- AttachedPropertyBrowsableAttribute.cs
- TextEndOfSegment.cs
- EnumerationRangeValidationUtil.cs
- XamlFigureLengthSerializer.cs
- Atom10FeedFormatter.cs
- FormatterServices.cs
- RotateTransform.cs