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
- CodeMemberEvent.cs
- NotCondition.cs
- GlyphRunDrawing.cs
- InvalidFilterCriteriaException.cs
- RpcCryptoRequest.cs
- ChooseAction.cs
- QueryComponents.cs
- NetDataContractSerializer.cs
- TopClause.cs
- XmlQualifiedNameTest.cs
- HMAC.cs
- ListBoxItem.cs
- NumberAction.cs
- EmptyEnumerator.cs
- UnauthorizedWebPart.cs
- CodeLinePragma.cs
- FormsAuthenticationTicket.cs
- SpeechRecognitionEngine.cs
- ResourceDefaultValueAttribute.cs
- ReaderWriterLockWrapper.cs
- SoapObjectReader.cs
- MetadataUtil.cs
- StagingAreaInputItem.cs
- Debug.cs
- XmlILOptimizerVisitor.cs
- SqlBuilder.cs
- EntityDataSourceDesigner.cs
- TraceSource.cs
- ComboBoxAutomationPeer.cs
- TextBox.cs
- SequentialWorkflowRootDesigner.cs
- FixedSOMContainer.cs
- UserControlCodeDomTreeGenerator.cs
- NativeWindow.cs
- PropertyTabChangedEvent.cs
- PropertyManager.cs
- HttpWebRequestElement.cs
- OdbcRowUpdatingEvent.cs
- XmlSchemaValidator.cs
- ClientSettingsStore.cs
- AnnotationComponentChooser.cs
- TreeViewImageKeyConverter.cs
- MetricEntry.cs
- DataGridViewTopRowAccessibleObject.cs
- SpellerError.cs
- ObservableCollection.cs
- SQLInt32.cs
- Perspective.cs
- TableLayoutSettingsTypeConverter.cs
- BevelBitmapEffect.cs
- MetabaseSettings.cs
- ItemContainerGenerator.cs
- RelationshipSet.cs
- ContractMapping.cs
- LinkedResource.cs
- FusionWrap.cs
- ListenerAdapterBase.cs
- Column.cs
- IPipelineRuntime.cs
- ToolStripRenderEventArgs.cs
- IntSecurity.cs
- DelegateArgument.cs
- SchemaManager.cs
- ReadOnlyCollectionBuilder.cs
- SimpleType.cs
- ProviderSettingsCollection.cs
- KeyPullup.cs
- UIPermission.cs
- ImageDrawing.cs
- DbProviderConfigurationHandler.cs
- XmlSchemaIdentityConstraint.cs
- InstanceData.cs
- DependencyObject.cs
- ServiceProviders.cs
- ExitEventArgs.cs
- LightweightCodeGenerator.cs
- Size.cs
- ToolConsole.cs
- ExecutedRoutedEventArgs.cs
- MonitorWrapper.cs
- PropertyGroupDescription.cs
- InkPresenter.cs
- EntityDataSourceChangedEventArgs.cs
- CloseSequenceResponse.cs
- StringFreezingAttribute.cs
- XmlAttributeProperties.cs
- StateMachine.cs
- GeneralTransform3DGroup.cs
- FixedFlowMap.cs
- SymmetricAlgorithm.cs
- DoWorkEventArgs.cs
- RegisteredScript.cs
- WindowHelperService.cs
- SafeEventLogReadHandle.cs
- XmlTextReaderImpl.cs
- XmlReflectionImporter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- BitmapEffectrendercontext.cs
- AttributeData.cs
- SupportsPreviewControlAttribute.cs