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
- TraceUtility.cs
- ImageListImageEditor.cs
- DataGridViewCellStateChangedEventArgs.cs
- CapabilitiesAssignment.cs
- ServiceOperationParameter.cs
- LinkLabelLinkClickedEvent.cs
- Int32Storage.cs
- COM2Properties.cs
- SQlBooleanStorage.cs
- EventEntry.cs
- AbstractSvcMapFileLoader.cs
- GestureRecognitionResult.cs
- RegisteredArrayDeclaration.cs
- DefinitionUpdate.cs
- DataViewManagerListItemTypeDescriptor.cs
- XmlExpressionDumper.cs
- XmlSchemaRedefine.cs
- TextElementEditingBehaviorAttribute.cs
- FileLoadException.cs
- RuleInfoComparer.cs
- DataTemplateKey.cs
- DelegateInArgument.cs
- Oci.cs
- PropertyTabAttribute.cs
- QueryAccessibilityHelpEvent.cs
- RecordsAffectedEventArgs.cs
- RequestNavigateEventArgs.cs
- ControllableStoryboardAction.cs
- Win32.cs
- ObservableCollection.cs
- EDesignUtil.cs
- DataTransferEventArgs.cs
- WebServiceData.cs
- WebPartsSection.cs
- MeasurementDCInfo.cs
- ColorConverter.cs
- BitmapMetadataBlob.cs
- ValidatedControlConverter.cs
- ConcurrentBag.cs
- HttpCachePolicyWrapper.cs
- NotSupportedException.cs
- PrintController.cs
- TreeViewCancelEvent.cs
- SqlClientFactory.cs
- WebPartPersonalization.cs
- XmlSchemaImport.cs
- DataBoundControlHelper.cs
- DesignerActionItemCollection.cs
- FreeIndexList.cs
- WsatServiceAddress.cs
- TiffBitmapDecoder.cs
- IndexOutOfRangeException.cs
- SmiEventSink.cs
- ObjectTypeMapping.cs
- PartialArray.cs
- WindowsAuthenticationModule.cs
- DataTableMappingCollection.cs
- XsdCachingReader.cs
- ConnectionOrientedTransportChannelFactory.cs
- WebConfigurationManager.cs
- Deflater.cs
- WorkflowInstanceAbortedRecord.cs
- Line.cs
- ValidationPropertyAttribute.cs
- Matrix3DStack.cs
- DelegatingTypeDescriptionProvider.cs
- XmlBinaryWriter.cs
- FormatterServices.cs
- XamlClipboardData.cs
- Polyline.cs
- XmlQueryTypeFactory.cs
- RectangleGeometry.cs
- NonParentingControl.cs
- PropertyChangeTracker.cs
- InputBinding.cs
- GridViewCellAutomationPeer.cs
- xsdvalidator.cs
- ScrollEvent.cs
- SingleConverter.cs
- HyperLinkStyle.cs
- XPathEmptyIterator.cs
- _DisconnectOverlappedAsyncResult.cs
- CollectionViewGroup.cs
- SafeNativeMethods.cs
- VectorValueSerializer.cs
- DesigntimeLicenseContext.cs
- Message.cs
- HttpsHostedTransportConfiguration.cs
- RegexBoyerMoore.cs
- RelatedImageListAttribute.cs
- Quaternion.cs
- HashHelper.cs
- CompilationLock.cs
- XmlNodeChangedEventArgs.cs
- XmlSchemaSimpleTypeRestriction.cs
- Ray3DHitTestResult.cs
- XmlUtil.cs
- OdbcErrorCollection.cs
- DbgUtil.cs
- DocumentOutline.cs