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
- SortedSet.cs
- FunctionUpdateCommand.cs
- BoundField.cs
- AutomationElement.cs
- CapabilitiesState.cs
- TreeNodeCollection.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- TextProperties.cs
- TagNameToTypeMapper.cs
- NullableDecimalSumAggregationOperator.cs
- SymLanguageType.cs
- OracleConnectionString.cs
- LinearGradientBrush.cs
- SoapIncludeAttribute.cs
- InternalEnumValidatorAttribute.cs
- LogicalExpr.cs
- UpdatePanelTriggerCollection.cs
- MailDefinitionBodyFileNameEditor.cs
- WindowsRebar.cs
- recordstatefactory.cs
- InternalRelationshipCollection.cs
- ZipIOCentralDirectoryBlock.cs
- WindowVisualStateTracker.cs
- Nullable.cs
- SqlReferenceCollection.cs
- SortFieldComparer.cs
- ScrollBarRenderer.cs
- XmlRawWriterWrapper.cs
- RequestCache.cs
- HiddenFieldPageStatePersister.cs
- XdrBuilder.cs
- SectionUpdates.cs
- ImmutableClientRuntime.cs
- ConfigXmlAttribute.cs
- RangeValidator.cs
- DefaultEventAttribute.cs
- sqlpipe.cs
- HiddenField.cs
- ConfigurationManagerHelperFactory.cs
- ValidatorCollection.cs
- Add.cs
- BinHexDecoder.cs
- AssociationType.cs
- glyphs.cs
- Delay.cs
- BaseUriWithWildcard.cs
- HashMembershipCondition.cs
- SimpleTypeResolver.cs
- CacheVirtualItemsEvent.cs
- Point3DValueSerializer.cs
- StylusPlugin.cs
- AssertFilter.cs
- FtpWebRequest.cs
- FloatMinMaxAggregationOperator.cs
- UnsafeNativeMethods.cs
- NodeFunctions.cs
- Font.cs
- SqlNotificationEventArgs.cs
- columnmapfactory.cs
- QueryExpr.cs
- CorrelationHandle.cs
- HelpProvider.cs
- SqlDataSourceQueryEditor.cs
- BitmapImage.cs
- EntityDataSourceColumn.cs
- SplitContainer.cs
- InvalidFilterCriteriaException.cs
- CatalogZone.cs
- DispatchChannelSink.cs
- SchemaRegistration.cs
- Pool.cs
- GPRECT.cs
- controlskin.cs
- AnnotationResource.cs
- FloaterBaseParaClient.cs
- Annotation.cs
- IPeerNeighbor.cs
- PassportIdentity.cs
- BinaryMethodMessage.cs
- CodeEventReferenceExpression.cs
- CrossAppDomainChannel.cs
- ControlCollection.cs
- TextFormatterHost.cs
- ProxyAssemblyNotLoadedException.cs
- ProfilePropertyNameValidator.cs
- SystemIPAddressInformation.cs
- TextContainerHelper.cs
- Message.cs
- HierarchicalDataSourceControl.cs
- ResourceCategoryAttribute.cs
- Unit.cs
- WeakReferenceEnumerator.cs
- HelpInfo.cs
- ClientUrlResolverWrapper.cs
- ProxyWebPartConnectionCollection.cs
- XmlNodeComparer.cs
- WindowsSysHeader.cs
- ConstraintManager.cs
- httpserverutility.cs
- DbConnectionOptions.cs