Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- BitmapMetadata.cs
- XMLSyntaxException.cs
- DataTableCollection.cs
- FilterFactory.cs
- MimeImporter.cs
- TouchesCapturedWithinProperty.cs
- WebPartEditorApplyVerb.cs
- graph.cs
- TileBrush.cs
- ImageCodecInfo.cs
- Int32Animation.cs
- httpapplicationstate.cs
- SQLInt64.cs
- KnowledgeBase.cs
- MobileTextWriter.cs
- HostingEnvironmentSection.cs
- Debugger.cs
- IndexOutOfRangeException.cs
- DebugView.cs
- RNGCryptoServiceProvider.cs
- HMACSHA384.cs
- VisualBrush.cs
- documentsequencetextview.cs
- validationstate.cs
- BooleanFunctions.cs
- DecoderNLS.cs
- WebPartDisplayModeEventArgs.cs
- DataGridColumnHeaderCollection.cs
- ManualResetEvent.cs
- ViewValidator.cs
- ThemeDictionaryExtension.cs
- TdsParserHelperClasses.cs
- Soap.cs
- ContentTextAutomationPeer.cs
- FontInfo.cs
- ToolTip.cs
- CompoundFileReference.cs
- DataStreams.cs
- HwndStylusInputProvider.cs
- SystemIcons.cs
- SqlInternalConnection.cs
- RemotingConfiguration.cs
- ServerIdentity.cs
- ClrPerspective.cs
- HttpChannelHelper.cs
- IndicFontClient.cs
- XmlNodeReader.cs
- TimeSpanParse.cs
- BinaryObjectReader.cs
- UniqueID.cs
- PerfProviderCollection.cs
- CharKeyFrameCollection.cs
- BitmapEncoder.cs
- MenuItemCollectionEditor.cs
- TextTreeText.cs
- NonSerializedAttribute.cs
- WebServiceErrorEvent.cs
- XmlSchemaObjectCollection.cs
- StorageMappingItemCollection.cs
- WorkBatch.cs
- MatrixKeyFrameCollection.cs
- UICuesEvent.cs
- CheckoutException.cs
- RenderDataDrawingContext.cs
- DataPagerField.cs
- HasCopySemanticsAttribute.cs
- BinHexDecoder.cs
- WebPartDesigner.cs
- ToolStripDropTargetManager.cs
- XmlProcessingInstruction.cs
- figurelengthconverter.cs
- EditorPart.cs
- CompModSwitches.cs
- SelectionRangeConverter.cs
- CompilationLock.cs
- InstanceDataCollectionCollection.cs
- StylusCaptureWithinProperty.cs
- Nodes.cs
- Model3DCollection.cs
- TextParagraphView.cs
- SqlTopReducer.cs
- Encoder.cs
- RegularExpressionValidator.cs
- FaultDescription.cs
- SimplePropertyEntry.cs
- FormsAuthentication.cs
- VectorAnimationBase.cs
- XmlTextEncoder.cs
- CharacterString.cs
- DesignerActionUIService.cs
- SchemaNames.cs
- CollectionViewProxy.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- AnchorEditor.cs
- SafeMemoryMappedFileHandle.cs
- PropertyValueChangedEvent.cs
- ResXResourceWriter.cs
- SQLMoney.cs
- WebServiceErrorEvent.cs
- TextRenderer.cs