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
- IntegerValidatorAttribute.cs
- PageSettings.cs
- EventLogEntry.cs
- IDictionary.cs
- MailDefinition.cs
- ProviderMetadataCachedInformation.cs
- XDeferredAxisSource.cs
- AdapterUtil.cs
- CoreChannel.cs
- SHA1Managed.cs
- InternalBase.cs
- mediapermission.cs
- RawTextInputReport.cs
- UnsafeNativeMethods.cs
- Select.cs
- UnmanagedMarshal.cs
- HttpCacheVaryByContentEncodings.cs
- EntityModelSchemaGenerator.cs
- ClientSideQueueItem.cs
- ISO2022Encoding.cs
- ProfileEventArgs.cs
- ConfigurationLocationCollection.cs
- NetworkStream.cs
- RelationshipConverter.cs
- SocketInformation.cs
- Rijndael.cs
- HttpCapabilitiesEvaluator.cs
- SkinBuilder.cs
- UInt32Converter.cs
- Light.cs
- InvalidOleVariantTypeException.cs
- ValueSerializerAttribute.cs
- InstanceDataCollectionCollection.cs
- TimeManager.cs
- Object.cs
- InstanceBehavior.cs
- MasterPageBuildProvider.cs
- CapabilitiesRule.cs
- GPStream.cs
- HeaderUtility.cs
- Rectangle.cs
- ExpressionVisitor.cs
- WindowsSecurityTokenAuthenticator.cs
- CasesDictionary.cs
- ValidationManager.cs
- TagPrefixCollection.cs
- GroupJoinQueryOperator.cs
- ToggleProviderWrapper.cs
- BindingContext.cs
- MatchingStyle.cs
- Message.cs
- DataGridParentRows.cs
- QuestionEventArgs.cs
- ToolStripDropDownMenu.cs
- TypeGeneratedEventArgs.cs
- Pair.cs
- ErrorFormatterPage.cs
- FlowDocumentScrollViewer.cs
- PermissionSetEnumerator.cs
- TreePrinter.cs
- DateTimeUtil.cs
- ImageClickEventArgs.cs
- HttpProfileBase.cs
- elementinformation.cs
- ScrollContentPresenter.cs
- SelectionService.cs
- MetadataPropertyAttribute.cs
- ValidatorCompatibilityHelper.cs
- FileCodeGroup.cs
- srgsitem.cs
- ConnectionString.cs
- ZipPackage.cs
- SoapFault.cs
- TypedTableGenerator.cs
- UInt64Storage.cs
- CredentialCache.cs
- XmlDocumentType.cs
- Subtree.cs
- VisualStyleTypesAndProperties.cs
- PartialTrustVisibleAssembliesSection.cs
- GenerateHelper.cs
- UserPreferenceChangedEventArgs.cs
- StrongNameUtility.cs
- HandleCollector.cs
- WindowsTitleBar.cs
- CellConstantDomain.cs
- CapabilitiesRule.cs
- HtmlTextArea.cs
- DataGridViewImageCell.cs
- EventLogEntryCollection.cs
- PrintDialogException.cs
- DataServiceQueryException.cs
- MachineSettingsSection.cs
- XmlAttributeAttribute.cs
- PropertiesTab.cs
- RelatedPropertyManager.cs
- SmtpNegotiateAuthenticationModule.cs
- SqlParameterizer.cs
- ImageMetadata.cs
- RelationshipDetailsRow.cs