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
- KeyValueSerializer.cs
- TextTreeDeleteContentUndoUnit.cs
- OrthographicCamera.cs
- HttpGetClientProtocol.cs
- DocumentXmlWriter.cs
- AccessDataSource.cs
- TextReader.cs
- SqlUserDefinedAggregateAttribute.cs
- PointConverter.cs
- GeometryModel3D.cs
- EventDescriptorCollection.cs
- QueryCacheEntry.cs
- SQLConvert.cs
- PeerApplicationLaunchInfo.cs
- LinqDataSourceContextData.cs
- LogEntryHeaderSerializer.cs
- DaylightTime.cs
- XPathNodeHelper.cs
- HttpCachePolicyBase.cs
- SerialPort.cs
- WebExceptionStatus.cs
- DSASignatureDeformatter.cs
- NamespaceEmitter.cs
- ConsoleKeyInfo.cs
- CollectionBuilder.cs
- DelegateArgument.cs
- CodeLinePragma.cs
- OleDbSchemaGuid.cs
- FrameworkContentElementAutomationPeer.cs
- CaseCqlBlock.cs
- ReflectionTypeLoadException.cs
- FunctionQuery.cs
- ItemDragEvent.cs
- URLIdentityPermission.cs
- FlowDocumentScrollViewer.cs
- CorrelationInitializer.cs
- assemblycache.cs
- ExpressionBuilderContext.cs
- ProcessModelSection.cs
- Table.cs
- ImageBrush.cs
- TreeNode.cs
- RtfFormatStack.cs
- Converter.cs
- future.cs
- MetaModel.cs
- ImageMap.cs
- NamedPipeConnectionPoolSettings.cs
- ParallelTimeline.cs
- Int64.cs
- Border.cs
- DataBindingValueUIHandler.cs
- Marshal.cs
- Style.cs
- CompilerInfo.cs
- MimeTypeAttribute.cs
- WindowsSecurityTokenAuthenticator.cs
- BaseTemplateBuildProvider.cs
- EditorPartDesigner.cs
- MarkupExtensionReturnTypeAttribute.cs
- HostedHttpContext.cs
- DataGridItemEventArgs.cs
- ImageListStreamer.cs
- BlockCollection.cs
- BamlResourceSerializer.cs
- SettingsBase.cs
- HwndSourceParameters.cs
- OperationContractGenerationContext.cs
- WindowsFormsLinkLabel.cs
- SystemFonts.cs
- ConfigXmlElement.cs
- BuildManager.cs
- ObjectTag.cs
- RijndaelManagedTransform.cs
- Rfc2898DeriveBytes.cs
- DummyDataSource.cs
- StateMachine.cs
- DetailsViewInsertedEventArgs.cs
- OutputCacheModule.cs
- OutputCacheSettingsSection.cs
- Helpers.cs
- KeyValuePair.cs
- IEnumerable.cs
- ValidationSummaryDesigner.cs
- Help.cs
- AppSettingsExpressionEditor.cs
- ProviderConnectionPointCollection.cs
- PersistenceException.cs
- GeneralTransformGroup.cs
- DbMetaDataCollectionNames.cs
- CircleEase.cs
- GeneralTransform3DTo2DTo3D.cs
- EditorAttribute.cs
- TrimSurroundingWhitespaceAttribute.cs
- AspNetHostingPermission.cs
- OneOfElement.cs
- SqlDataSource.cs
- ExcCanonicalXml.cs
- WebBrowserContainer.cs
- DoubleIndependentAnimationStorage.cs