Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / View / BreadCrumbTextConverter.cs / 1305376 / BreadCrumbTextConverter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Activities.Presentation.View { using System.Windows.Data; using System.Activities.Presentation.Model; internal class BreadCrumbTextConverter : IMultiValueConverter { const int MaxDisplayNameLength = 20; double pixelsPerChar = 6.5; internal double PixelsPerChar { get { return this.pixelsPerChar; } set { this.pixelsPerChar = Math.Max(5.0, value); } } public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { int actualDisplayNameLength = MaxDisplayNameLength; ModelItem boundModelItem = values[0] as ModelItem; // default to root item's typename string breadCrumbText = (null != boundModelItem ? boundModelItem.ItemType.Name : ""); // if there is a display name property on root use that as the file name. if (values[1] is ModelItem) { ModelItem displayNameProperty = (ModelItem)values[1]; if (typeof(string) == displayNameProperty.ItemType) { values[1] = displayNameProperty.GetCurrentValue(); } } if (values[1] is string) { string displayName = (string)values[1]; if (!displayName.Equals(string.Empty)) { breadCrumbText = displayName; } } if (values.Length == 3 && values[2] is double) { double actualControlWidth = (double)values[2]; actualDisplayNameLength = (int)Math.Max(MaxDisplayNameLength, actualControlWidth / pixelsPerChar); } if (breadCrumbText.Length > actualDisplayNameLength) { breadCrumbText = breadCrumbText.Substring(0, actualDisplayNameLength - 3) + "..."; } return breadCrumbText; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { throw FxTrace.Exception.AsError(new InvalidOperationException()); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PairComparer.cs
- XmlSchemaAttributeGroup.cs
- XPathNodeList.cs
- COM2ICategorizePropertiesHandler.cs
- CallTemplateAction.cs
- XamlTemplateSerializer.cs
- ConnectionManagementElementCollection.cs
- ClientBuildManagerCallback.cs
- CryptoHelper.cs
- IdentityReference.cs
- BasicExpandProvider.cs
- ListControl.cs
- SimpleMailWebEventProvider.cs
- TrackingCondition.cs
- CTreeGenerator.cs
- PingOptions.cs
- ClientProxyGenerator.cs
- TextPatternIdentifiers.cs
- MatrixIndependentAnimationStorage.cs
- SizeF.cs
- NonClientArea.cs
- ChildChangedEventArgs.cs
- BoundingRectTracker.cs
- ChannelRequirements.cs
- InvariantComparer.cs
- XmlConvert.cs
- ReflectionUtil.cs
- ReadOnlyDictionary.cs
- HandlerWithFactory.cs
- ClientScriptItemCollection.cs
- IntranetCredentialPolicy.cs
- NonParentingControl.cs
- ConfigurationException.cs
- XmlSchemaGroupRef.cs
- Command.cs
- ListDictionaryInternal.cs
- ObjectStateManager.cs
- DockAndAnchorLayout.cs
- DnsCache.cs
- PagesSection.cs
- ForEachAction.cs
- SerializationEventsCache.cs
- DeferredElementTreeState.cs
- TransformBlockRequest.cs
- EncryptedPackageFilter.cs
- UriScheme.cs
- StylusPointCollection.cs
- HttpServerUtilityWrapper.cs
- BuildProvider.cs
- PropertyItem.cs
- TransformPatternIdentifiers.cs
- TrackingDataItem.cs
- LabelLiteral.cs
- SystemIPv4InterfaceProperties.cs
- Geometry3D.cs
- SourceSwitch.cs
- Registry.cs
- InvalidDataException.cs
- EventDescriptorCollection.cs
- ConstantSlot.cs
- XPathBinder.cs
- AddIn.cs
- StringAnimationUsingKeyFrames.cs
- DeclarationUpdate.cs
- FolderLevelBuildProvider.cs
- PipelineModuleStepContainer.cs
- DateTimeUtil.cs
- QueryFunctions.cs
- IPGlobalProperties.cs
- DefaultBindingPropertyAttribute.cs
- QueryOperator.cs
- Marshal.cs
- TreeViewItemAutomationPeer.cs
- TextElementEditingBehaviorAttribute.cs
- NCryptSafeHandles.cs
- ItemContainerProviderWrapper.cs
- AssemblyHelper.cs
- FlowPosition.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- WmlTextBoxAdapter.cs
- ViewLoader.cs
- SqlDependency.cs
- CalendarDay.cs
- ItemMap.cs
- PropertyPushdownHelper.cs
- MultipleCopiesCollection.cs
- HttpRuntimeSection.cs
- Control.cs
- HttpModuleActionCollection.cs
- SecurityDescriptor.cs
- DemultiplexingDispatchMessageFormatter.cs
- SmiMetaData.cs
- StyleCollection.cs
- XmlEnumAttribute.cs
- DelimitedListTraceListener.cs
- CodeDelegateInvokeExpression.cs
- InputScopeManager.cs
- OleDbDataReader.cs
- RootProfilePropertySettingsCollection.cs
- FixedSOMTableRow.cs