Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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, string stringFormat) { Debug.Assert(!(String.IsNullOrEmpty(displayMemberPath) && String.IsNullOrEmpty(stringFormat))); _displayMemberPath = displayMemberPath; _stringFormat = stringFormat; } ////// 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; binding.StringFormat = _stringFormat; 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); binding.StringFormat = _stringFormat; text.SetBinding(TextBlock.TextProperty, binding); _clrNodeContentTemplate.VisualTree = text; _clrNodeContentTemplate.Seal(); } return _clrNodeContentTemplate; } } private string _displayMemberPath; private string _stringFormat; private DataTemplate _xmlNodeContentTemplate; private DataTemplate _clrNodeContentTemplate; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// 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, string stringFormat) { Debug.Assert(!(String.IsNullOrEmpty(displayMemberPath) && String.IsNullOrEmpty(stringFormat))); _displayMemberPath = displayMemberPath; _stringFormat = stringFormat; } ////// 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; binding.StringFormat = _stringFormat; 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); binding.StringFormat = _stringFormat; text.SetBinding(TextBlock.TextProperty, binding); _clrNodeContentTemplate.VisualTree = text; _clrNodeContentTemplate.Seal(); } return _clrNodeContentTemplate; } } private string _displayMemberPath; private string _stringFormat; 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
- LockRecoveryTask.cs
- TouchPoint.cs
- TextCharacters.cs
- KeyNotFoundException.cs
- DataGridTable.cs
- Control.cs
- ToolStripDropTargetManager.cs
- CommandExpr.cs
- DefaultTextStoreTextComposition.cs
- SimpleHandlerBuildProvider.cs
- DropShadowEffect.cs
- CompilationUtil.cs
- CaseInsensitiveHashCodeProvider.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- Latin1Encoding.cs
- PropertyInformationCollection.cs
- ExecutionEngineException.cs
- CqlLexerHelpers.cs
- Trigger.cs
- SqlWorkflowInstanceStoreLock.cs
- LazyTextWriterCreator.cs
- brushes.cs
- FormattedTextSymbols.cs
- WindowsFormsLinkLabel.cs
- DataTablePropertyDescriptor.cs
- FileSystemWatcher.cs
- ContainerParagraph.cs
- TraceHandler.cs
- COM2IPerPropertyBrowsingHandler.cs
- DynamicPropertyHolder.cs
- SQLGuid.cs
- ObjectListSelectEventArgs.cs
- MessagePropertyFilter.cs
- _HelperAsyncResults.cs
- RC2.cs
- XPathNodeHelper.cs
- CompareValidator.cs
- NativeCompoundFileAPIs.cs
- EventLogReader.cs
- EventInfo.cs
- Completion.cs
- WindowsListView.cs
- FrameworkRichTextComposition.cs
- XmlIterators.cs
- WindowsGraphics.cs
- Hash.cs
- CryptoHelper.cs
- StringPropertyBuilder.cs
- ExpressionStringBuilder.cs
- CompiledQueryCacheKey.cs
- IdentityHolder.cs
- DefaultTypeArgumentAttribute.cs
- DropShadowBitmapEffect.cs
- CompressEmulationStream.cs
- AuthStoreRoleProvider.cs
- XmlSchemaObjectTable.cs
- QueryCacheEntry.cs
- Image.cs
- DataGridView.cs
- ProcessHostServerConfig.cs
- Span.cs
- DataGridViewLinkCell.cs
- CellQuery.cs
- TableNameAttribute.cs
- ScrollItemPattern.cs
- SqlServices.cs
- XmlCustomFormatter.cs
- ScriptReferenceEventArgs.cs
- ClientSettings.cs
- Utils.cs
- BaseTreeIterator.cs
- ActivityTrace.cs
- HostingEnvironment.cs
- TemplateControl.cs
- BitmapInitialize.cs
- X509Certificate2.cs
- ProfileModule.cs
- PtsPage.cs
- Sentence.cs
- FrameDimension.cs
- KeyNotFoundException.cs
- FileVersionInfo.cs
- SafeThreadHandle.cs
- SessionPageStatePersister.cs
- SqlFunctionAttribute.cs
- TextSegment.cs
- WebServiceParameterData.cs
- XPathItem.cs
- HttpResponseWrapper.cs
- SqlParameterCollection.cs
- RsaSecurityKey.cs
- ReferenceConverter.cs
- DocumentSequenceHighlightLayer.cs
- ApplicationId.cs
- LineServicesCallbacks.cs
- BadImageFormatException.cs
- EntityConnection.cs
- DynamicRendererThreadManager.cs
- TableAdapterManagerHelper.cs
- UserControlAutomationPeer.cs