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
- IncomingWebRequestContext.cs
- SeverityFilter.cs
- Grant.cs
- BaseCodeDomTreeGenerator.cs
- RSAOAEPKeyExchangeDeformatter.cs
- LabelLiteral.cs
- ErrorWebPart.cs
- ResourceExpressionEditor.cs
- XPathDocumentNavigator.cs
- ListSortDescription.cs
- PathGeometry.cs
- formatter.cs
- WebPartDeleteVerb.cs
- ChildTable.cs
- StrongNameIdentityPermission.cs
- BypassElementCollection.cs
- BindableAttribute.cs
- RecordsAffectedEventArgs.cs
- EditableLabelControl.cs
- SelectionRangeConverter.cs
- Binding.cs
- XmlNavigatorFilter.cs
- TextRangeEdit.cs
- Regex.cs
- ObjectConverter.cs
- FlowDocumentView.cs
- Invariant.cs
- Win32.cs
- LogSwitch.cs
- LineGeometry.cs
- DrawListViewSubItemEventArgs.cs
- GiveFeedbackEvent.cs
- CompatibleIComparer.cs
- AuthenticationModeHelper.cs
- FixedTextSelectionProcessor.cs
- DeliveryRequirementsAttribute.cs
- WebPartVerbCollection.cs
- NetStream.cs
- Repeater.cs
- OleDbCommand.cs
- XslException.cs
- UnsafeNativeMethods.cs
- VirtualizingPanel.cs
- TraceData.cs
- FormsAuthenticationModule.cs
- StrokeDescriptor.cs
- Token.cs
- QueryCacheKey.cs
- ConfigurationValues.cs
- Journaling.cs
- BufferBuilder.cs
- UnsafeNativeMethods.cs
- NamespaceListProperty.cs
- PrincipalPermission.cs
- LinearGradientBrush.cs
- IpcPort.cs
- SHA1CryptoServiceProvider.cs
- Guid.cs
- StateItem.cs
- WebHttpDispatchOperationSelector.cs
- EmptyStringExpandableObjectConverter.cs
- CodeGeneratorOptions.cs
- SamlConstants.cs
- ImageFormatConverter.cs
- ScriptDescriptor.cs
- GuidelineCollection.cs
- OletxResourceManager.cs
- XmlSchemaNotation.cs
- ErrorFormatterPage.cs
- LogReservationCollection.cs
- Padding.cs
- Console.cs
- TogglePattern.cs
- GZipStream.cs
- DataBindingHandlerAttribute.cs
- NavigatorInput.cs
- DecoderExceptionFallback.cs
- ResourcesBuildProvider.cs
- TrackBar.cs
- SerialPinChanges.cs
- DataGridViewCellEventArgs.cs
- SafeCertificateStore.cs
- Compiler.cs
- TemplatePartAttribute.cs
- DataListItemCollection.cs
- SqlDataSourceFilteringEventArgs.cs
- GuidelineCollection.cs
- ToolStripRenderer.cs
- AttributeProviderAttribute.cs
- __Filters.cs
- SqlDataReaderSmi.cs
- EntityDataSourceConfigureObjectContext.cs
- GeometryValueSerializer.cs
- SafeBitVector32.cs
- AggregateNode.cs
- DBBindings.cs
- CachingHintValidation.cs
- COM2IPerPropertyBrowsingHandler.cs
- DataGridViewDataErrorEventArgs.cs
- ADConnectionHelper.cs