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
- GAC.cs
- FamilyTypefaceCollection.cs
- ObjectView.cs
- AutomationPeer.cs
- OdbcConnectionFactory.cs
- CompilationUtil.cs
- BidPrivateBase.cs
- SmiEventStream.cs
- DynamicResourceExtensionConverter.cs
- PeerResolverSettings.cs
- PrintPreviewDialog.cs
- Rotation3DKeyFrameCollection.cs
- TextTreeExtractElementUndoUnit.cs
- SoapRpcMethodAttribute.cs
- MessageFormatterConverter.cs
- CriticalFinalizerObject.cs
- OperationInvokerBehavior.cs
- Hyperlink.cs
- HostProtectionException.cs
- ItemCollection.cs
- UrlPropertyAttribute.cs
- BitmapCodecInfoInternal.cs
- Function.cs
- ApplicationDirectory.cs
- PropertyIDSet.cs
- DataViewListener.cs
- SizeConverter.cs
- ControlPropertyNameConverter.cs
- ReadOnlyDataSourceView.cs
- TripleDES.cs
- SpoolingTask.cs
- ListBindingConverter.cs
- Typography.cs
- AssemblyCache.cs
- ParameterCollection.cs
- DataGridViewLinkColumn.cs
- HwndMouseInputProvider.cs
- AudioDeviceOut.cs
- OdbcError.cs
- SafeBitVector32.cs
- DNS.cs
- TimelineGroup.cs
- CompilationUnit.cs
- LinqDataSourceValidationException.cs
- EventMappingSettings.cs
- NullEntityWrapper.cs
- RsaElement.cs
- ToolStripItemDataObject.cs
- ProxyAttribute.cs
- DataGridViewRowPostPaintEventArgs.cs
- SyntaxCheck.cs
- DataGridViewCellCancelEventArgs.cs
- Decorator.cs
- ThicknessAnimationUsingKeyFrames.cs
- SqlInfoMessageEvent.cs
- WaitingCursor.cs
- ZipIOModeEnforcingStream.cs
- EditorZone.cs
- ComplexPropertyEntry.cs
- Point.cs
- SqlGatherProducedAliases.cs
- Converter.cs
- DESCryptoServiceProvider.cs
- FrameworkContentElement.cs
- EncryptedData.cs
- Transform.cs
- CollectionCodeDomSerializer.cs
- MappingModelBuildProvider.cs
- DataFormats.cs
- HtmlGenericControl.cs
- SplitContainerDesigner.cs
- BaseTreeIterator.cs
- Scene3D.cs
- GACIdentityPermission.cs
- ToolStripTextBox.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XComponentModel.cs
- TextRange.cs
- TraceEventCache.cs
- HelpInfo.cs
- ParameterBuilder.cs
- ContentDesigner.cs
- EncodingDataItem.cs
- InternalBufferOverflowException.cs
- SiteMapNodeCollection.cs
- SystemIPGlobalProperties.cs
- ChannelManager.cs
- RegexCompiler.cs
- SvcMapFile.cs
- SqlBuffer.cs
- IPAddress.cs
- WSFederationHttpSecurityMode.cs
- ModuleBuilderData.cs
- MetabaseSettings.cs
- _Rfc2616CacheValidators.cs
- ValidatorCompatibilityHelper.cs
- EntitySqlQueryCacheEntry.cs
- ResourceReader.cs
- XPathArrayIterator.cs
- XXXOnTypeBuilderInstantiation.cs