Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / DataTemplate.cs / 1 / DataTemplate.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: DataTemplate describes how to display a single data item. // // Specs: [....]/coreui/Specs%20%20Property%20Engine/Styling%20Revisited.doc // //--------------------------------------------------------------------------- using System.ComponentModel; using System.Windows.Controls; using System.Windows.Markup; namespace System.Windows { ////// DataTemplate describes how to display a single data item. /// public class DataTemplate : FrameworkTemplate { #region Constructors //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- ////// DataTemplate Constructor /// public DataTemplate() { } ////// DataTemplate Constructor /// public DataTemplate(object dataType) { Exception ex = TemplateKey.ValidateDataType(dataType, "dataType"); if (ex != null) throw ex; _dataType = dataType; } #endregion Constructors #region Public Properties //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- ////// DataType for this DataTemplate. If the template is intended /// for object data, this is the Type of the data. If the /// template is intended for XML data, this is the tag name /// of the data (i.e. a string). /// [DefaultValue(null)] public object DataType { get { return _dataType; } set { Exception ex = TemplateKey.ValidateDataType(value, "value"); if (ex != null) throw ex; CheckSealed(); _dataType = value; } } ////// Collection of Triggers /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [DependsOn("VisualTree")] public TriggerCollection Triggers { get { if (_triggers == null) { _triggers = new TriggerCollection(); // If the template has been sealed prior to this the newly // created TriggerCollection also needs to be sealed if (IsSealed) { _triggers.Seal(); } } return _triggers; } } #endregion PublicProperties #region Internal Properties //-------------------------------------------------------------------- // // Internal Properties // //-------------------------------------------------------------------- // // TargetType for DataTemplate. This is override is // so FrameworkTemplate can see this property. // internal override Type TargetTypeInternal { get { return DefaultTargetType; } } // Subclasses must provide a way for the parser to directly set the // target type. For DataTemplate, this is not allowed. internal override void SetTargetTypeInternal(Type targetType) { throw new InvalidOperationException(SR.Get(SRID.TemplateNotTargetType)); } // // DataType for DataTemplate. This is override is // so FrameworkTemplate can see this property. // internal override object DataTypeInternal { get { return DataType; } } // // Collection of Triggers for a DataTemplate. This is // override is so FrameworkTemplate can see this property. // internal override TriggerCollection TriggersInternal { get { return Triggers; } } // Target type of DataTrigger is ContentPresenter static internal Type DefaultTargetType { get { return typeof(ContentPresenter); } } #endregion Internal Properties #region Protected Methods //------------------------------------------------------------------- // // Protected Methods // //-------------------------------------------------------------------- ////// Validate against the following rules /// 1. Must have a non-null feTemplatedParent /// 2. A DataTemplate must be applied to a ContentPresenter /// protected override void ValidateTemplatedParent(FrameworkElement templatedParent) { // Must have a non-null feTemplatedParent if (templatedParent == null) { throw new ArgumentNullException("templatedParent"); } // A DataTemplate must be applied to a ContentPresenter if (!(templatedParent is ContentPresenter)) { throw new ArgumentException(SR.Get(SRID.TemplateTargetTypeMismatch, "ContentPresenter", templatedParent.GetType().Name)); } } #endregion Protected Methods #region Data private object _dataType; private TriggerCollection _triggers; #endregion Data } } // 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
- HtmlFormParameterWriter.cs
- EncodingNLS.cs
- FilterEventArgs.cs
- ExpressionBuilderCollection.cs
- Visual3D.cs
- DataControlFieldCell.cs
- RequestCacheEntry.cs
- VersionedStreamOwner.cs
- DrawToolTipEventArgs.cs
- SessionStateContainer.cs
- HttpCapabilitiesBase.cs
- SchemaCompiler.cs
- UnmanagedHandle.cs
- EncoderExceptionFallback.cs
- FixedDocumentPaginator.cs
- TextServicesLoader.cs
- ErrorEventArgs.cs
- StringUtil.cs
- HttpModulesSection.cs
- SharedDp.cs
- PerformanceCounterPermissionAttribute.cs
- SQLInt64.cs
- Menu.cs
- DataGridViewUtilities.cs
- BaseTemplatedMobileComponentEditor.cs
- RoutingExtensionElement.cs
- DataTableNewRowEvent.cs
- SqlTypesSchemaImporter.cs
- LinqDataSourceUpdateEventArgs.cs
- BaseServiceProvider.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DataGridTableCollection.cs
- GuidelineCollection.cs
- DBProviderConfigurationHandler.cs
- ClockGroup.cs
- UpdateException.cs
- SqlConnection.cs
- SafeHandles.cs
- DynamicILGenerator.cs
- Style.cs
- DWriteFactory.cs
- NominalTypeEliminator.cs
- Reference.cs
- ExtensionSimplifierMarkupObject.cs
- ControlCachePolicy.cs
- Typography.cs
- XNodeNavigator.cs
- Compress.cs
- PaintValueEventArgs.cs
- SamlDoNotCacheCondition.cs
- AppDomain.cs
- DirectoryGroupQuery.cs
- SplitterPanel.cs
- SqlCacheDependencyDatabaseCollection.cs
- WebRequestModuleElement.cs
- ParallelTimeline.cs
- ReplyChannel.cs
- UncommonField.cs
- BindingManagerDataErrorEventArgs.cs
- PersistenceTypeAttribute.cs
- FileDialogCustomPlace.cs
- IncomingWebResponseContext.cs
- CollaborationHelperFunctions.cs
- AdapterUtil.cs
- MdbDataFileEditor.cs
- Screen.cs
- SqlDataSource.cs
- CodeVariableDeclarationStatement.cs
- WindowsBrush.cs
- SafeNativeMethods.cs
- DesignerActionUI.cs
- MenuEventArgs.cs
- XmlLinkedNode.cs
- Viewport2DVisual3D.cs
- Evidence.cs
- PersonalizableAttribute.cs
- SecurityAttributeGenerationHelper.cs
- WebPartConnectionsDisconnectVerb.cs
- XmlTextAttribute.cs
- DocumentViewerHelper.cs
- ClientBuildManager.cs
- FastEncoderWindow.cs
- MtomMessageEncodingBindingElement.cs
- Logging.cs
- exports.cs
- ObjectDisposedException.cs
- AppDomainFactory.cs
- DataConnectionHelper.cs
- DataErrorValidationRule.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- DataGrid.cs
- MD5.cs
- EncodingTable.cs
- webclient.cs
- OdbcError.cs
- ModifierKeysValueSerializer.cs
- EditCommandColumn.cs
- DocumentViewerBase.cs
- MetadataUtilsSmi.cs
- RelatedCurrencyManager.cs