Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / DisplayMemberTemplateSelector.cs / 1 / DisplayMemberTemplateSelector.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines DisplayMemberTemplateSelector class. // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using MS.Internal; namespace MS.Internal.Data { // Selects template appropriate for CLR/XML item in order to // display string property at DisplayMemberPath on the item. internal sealed class DisplayMemberTemplateSelector : DataTemplateSelector { ////// Constructor /// /// path to the member to display public DisplayMemberTemplateSelector(string displayMemberPath) { Debug.Assert(!string.IsNullOrEmpty(displayMemberPath)); _displayMemberPath = displayMemberPath; } ////// Override this method to return an app specific /// The data content /// The container in which the content is to be displayed ///. /// a app specific template to apply. public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (XmlHelper.IsXmlNode(item)) { if (_xmlNodeContentTemplate == null) { _xmlNodeContentTemplate = new DataTemplate(); FrameworkElementFactory text = ContentPresenter.CreateTextBlockFactory(); Binding binding = new Binding(); binding.XPath = _displayMemberPath; text.SetBinding(TextBlock.TextProperty, binding); _xmlNodeContentTemplate.VisualTree = text; _xmlNodeContentTemplate.Seal(); } return _xmlNodeContentTemplate; } else { if (_clrNodeContentTemplate == null) { _clrNodeContentTemplate = new DataTemplate(); FrameworkElementFactory text = ContentPresenter.CreateTextBlockFactory(); Binding binding = new Binding(); binding.Path = new PropertyPath(_displayMemberPath); text.SetBinding(TextBlock.TextProperty, binding); _clrNodeContentTemplate.VisualTree = text; _clrNodeContentTemplate.Seal(); } return _clrNodeContentTemplate; } } private string _displayMemberPath; private DataTemplate _xmlNodeContentTemplate; private DataTemplate _clrNodeContentTemplate; } } // 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
- DefaultIfEmptyQueryOperator.cs
- PolyQuadraticBezierSegment.cs
- DataGridViewAdvancedBorderStyle.cs
- SqlDataAdapter.cs
- CommandCollectionEditor.cs
- DocumentSequence.cs
- StorageEndPropertyMapping.cs
- TlsnegoTokenAuthenticator.cs
- ApplicationHost.cs
- XmlObjectSerializerReadContextComplex.cs
- TokenizerHelper.cs
- RTLAwareMessageBox.cs
- DetailsViewInsertedEventArgs.cs
- DBConcurrencyException.cs
- XslNumber.cs
- StrokeCollectionDefaultValueFactory.cs
- SystemColors.cs
- BasicCellRelation.cs
- _AutoWebProxyScriptHelper.cs
- TiffBitmapDecoder.cs
- WmlLiteralTextAdapter.cs
- IndentedWriter.cs
- MultipartContentParser.cs
- PropertyInfo.cs
- Viewport3DAutomationPeer.cs
- CompilerParameters.cs
- namescope.cs
- ToolTip.cs
- SecurityTokenSerializer.cs
- WebPartRestoreVerb.cs
- DataControlPagerLinkButton.cs
- DataGridViewCellStyle.cs
- ConfigXmlWhitespace.cs
- WindowsGraphicsCacheManager.cs
- SafeFileMapViewHandle.cs
- WebPartUserCapability.cs
- Timer.cs
- ImageAnimator.cs
- CalendarAutomationPeer.cs
- XmlSerializerNamespaces.cs
- InvalidProgramException.cs
- SoundPlayerAction.cs
- TraceContext.cs
- MetaModel.cs
- Timer.cs
- ManifestResourceInfo.cs
- SortedList.cs
- PageParser.cs
- XmlObjectSerializer.cs
- GlobalizationSection.cs
- OperationFormatUse.cs
- UidManager.cs
- ListSurrogate.cs
- TrustManagerPromptUI.cs
- ExtractorMetadata.cs
- ColorConvertedBitmap.cs
- InvalidDataException.cs
- PermissionAttributes.cs
- HtmlTextBoxAdapter.cs
- WebResourceAttribute.cs
- ParseNumbers.cs
- WebServiceHandlerFactory.cs
- XmlSchemaAttribute.cs
- OutputCacheModule.cs
- DashStyle.cs
- ConfigXmlText.cs
- DiagnosticsConfigurationHandler.cs
- SelectedDatesCollection.cs
- PropertyRef.cs
- TextFormatterContext.cs
- FileLogRecord.cs
- ReadOnlyDataSource.cs
- FileChangeNotifier.cs
- DataGridHeaderBorder.cs
- Activity.cs
- DataGridViewElement.cs
- FormsAuthenticationUser.cs
- CellParagraph.cs
- ScrollEvent.cs
- TraceSection.cs
- BaseTreeIterator.cs
- IdnMapping.cs
- ProviderConnectionPointCollection.cs
- DbConnectionHelper.cs
- EventProviderWriter.cs
- ScrollEventArgs.cs
- ComplexBindingPropertiesAttribute.cs
- BamlTreeMap.cs
- ECDiffieHellman.cs
- RawStylusInput.cs
- SecurityContextSecurityToken.cs
- CodeCompileUnit.cs
- GenericWebPart.cs
- NotSupportedException.cs
- SettingsAttributeDictionary.cs
- SatelliteContractVersionAttribute.cs
- SynchronizingStream.cs
- SamlAction.cs
- PartialTrustVisibleAssembliesSection.cs
- Deflater.cs