Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ByteRangeDownloader.cs
- OutOfProcStateClientManager.cs
- ReadOnlyTernaryTree.cs
- DataGridViewCellEventArgs.cs
- EventLogQuery.cs
- HtmlTableCell.cs
- XPathQilFactory.cs
- _SslStream.cs
- _KerberosClient.cs
- TableCell.cs
- BinaryParser.cs
- EDesignUtil.cs
- StaticResourceExtension.cs
- StringDictionary.cs
- DataTemplateKey.cs
- DesignerTransaction.cs
- WebSysDescriptionAttribute.cs
- WindowAutomationPeer.cs
- HandleRef.cs
- SecurityDescriptor.cs
- CopyAction.cs
- oledbconnectionstring.cs
- QuaternionAnimationBase.cs
- ECDiffieHellmanPublicKey.cs
- FirewallWrapper.cs
- StreamWithDictionary.cs
- ContentPlaceHolder.cs
- HtmlInputSubmit.cs
- UnmanagedMemoryStreamWrapper.cs
- TextServicesDisplayAttribute.cs
- ToolboxItem.cs
- SerializationSectionGroup.cs
- BitmapImage.cs
- AppModelKnownContentFactory.cs
- DataPagerFieldCollection.cs
- Grant.cs
- SelectionItemPatternIdentifiers.cs
- SessionStateContainer.cs
- DataKeyCollection.cs
- TdsEnums.cs
- WebPartCatalogAddVerb.cs
- WorkflowServiceNamespace.cs
- HtmlInputPassword.cs
- WindowsFormsSectionHandler.cs
- Facet.cs
- DataObjectMethodAttribute.cs
- ContextConfiguration.cs
- WorkflowDesignerMessageFilter.cs
- PersonalizationState.cs
- ImageButton.cs
- _NetworkingPerfCounters.cs
- SqlTriggerAttribute.cs
- SchemaTypeEmitter.cs
- WebPartConnectionsCloseVerb.cs
- ChangePassword.cs
- ILGenerator.cs
- AspCompat.cs
- OTFRasterizer.cs
- SessionState.cs
- SelectorAutomationPeer.cs
- SqlDataReaderSmi.cs
- ZoneButton.cs
- ModelItemCollection.cs
- ProviderManager.cs
- ServiceReference.cs
- CTreeGenerator.cs
- EntityDataSourceContextCreatedEventArgs.cs
- InternalPermissions.cs
- XmlIlGenerator.cs
- IssuanceTokenProviderState.cs
- ToolboxItemAttribute.cs
- RegexCode.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- SoapReflectionImporter.cs
- XmlTextEncoder.cs
- Int64.cs
- ProviderConnectionPoint.cs
- XamlStream.cs
- VirtualDirectoryMapping.cs
- CompositeFontParser.cs
- UITypeEditor.cs
- EntityDataSourceView.cs
- CommandDevice.cs
- DataGridViewColumnConverter.cs
- NativeBuffer.cs
- FormatConvertedBitmap.cs
- ThreadSafeList.cs
- FederatedMessageSecurityOverHttpElement.cs
- IdentitySection.cs
- DesignerTransaction.cs
- ResizeGrip.cs
- InkSerializer.cs
- IntegerValidatorAttribute.cs
- DbParameterCollection.cs
- AlignmentXValidation.cs
- DataProviderNameConverter.cs
- TextLineResult.cs
- ContextTokenTypeConverter.cs
- _SslStream.cs
- LockCookie.cs