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
- EventToken.cs
- RotateTransform3D.cs
- SerializationException.cs
- HttpDebugHandler.cs
- ListViewInsertEventArgs.cs
- UriScheme.cs
- Literal.cs
- SignatureDescription.cs
- StandardToolWindows.cs
- RowUpdatingEventArgs.cs
- WorkflowDefinitionContext.cs
- UIElementParagraph.cs
- VBIdentifierName.cs
- XmlSerializableReader.cs
- FatalException.cs
- TimerEventSubscription.cs
- SqlXml.cs
- XmlTypeMapping.cs
- BitmapImage.cs
- ToolboxService.cs
- SafeCryptoHandles.cs
- SingleObjectCollection.cs
- HtmlElementEventArgs.cs
- MarkupWriter.cs
- CacheForPrimitiveTypes.cs
- TextSpanModifier.cs
- EncodingDataItem.cs
- SelectionPatternIdentifiers.cs
- CodeGenerator.cs
- WebPartAuthorizationEventArgs.cs
- EncoderParameter.cs
- FixedSOMLineCollection.cs
- TaiwanCalendar.cs
- ConnectionManagementSection.cs
- DependencyObjectPropertyDescriptor.cs
- ParserStreamGeometryContext.cs
- AlgoModule.cs
- TextBreakpoint.cs
- Renderer.cs
- SystemIPGlobalStatistics.cs
- log.cs
- TimerEventSubscriptionCollection.cs
- OdbcConnectionStringbuilder.cs
- LateBoundBitmapDecoder.cs
- ServiceHostingEnvironmentSection.cs
- DrawingAttributeSerializer.cs
- ParagraphResult.cs
- EventWaitHandleSecurity.cs
- OleDbConnectionFactory.cs
- ExtenderControl.cs
- PropertyReference.cs
- DesignerActionList.cs
- odbcmetadatacolumnnames.cs
- ExchangeUtilities.cs
- ListItem.cs
- FieldToken.cs
- GenericPrincipal.cs
- precedingquery.cs
- OracleParameterCollection.cs
- ProxyFragment.cs
- HasCopySemanticsAttribute.cs
- XmlNamespaceMappingCollection.cs
- GroupBoxRenderer.cs
- ClientConfigPaths.cs
- CssTextWriter.cs
- HttpListenerPrefixCollection.cs
- GiveFeedbackEventArgs.cs
- CssClassPropertyAttribute.cs
- XmlDataCollection.cs
- PassportPrincipal.cs
- ListContractAdapter.cs
- BooleanExpr.cs
- FilterFactory.cs
- Decoder.cs
- QuadraticBezierSegment.cs
- ArrayHelper.cs
- PhoneCall.cs
- InvalidFilterCriteriaException.cs
- EventProxy.cs
- WebPartMenuStyle.cs
- WCFModelStrings.Designer.cs
- TextDpi.cs
- ToolStripContainer.cs
- WindowVisualStateTracker.cs
- HtmlInputCheckBox.cs
- RawStylusSystemGestureInputReport.cs
- LogWriteRestartAreaState.cs
- LayoutEngine.cs
- Viewport2DVisual3D.cs
- DataExpression.cs
- Container.cs
- CodeAccessPermission.cs
- PersonalizationStateInfoCollection.cs
- TimeSpanValidatorAttribute.cs
- Byte.cs
- regiisutil.cs
- KeyPullup.cs
- AccessibilityHelperForVista.cs
- RefreshInfo.cs
- DataGridViewCellLinkedList.cs