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
- IteratorDescriptor.cs
- StructuredTypeInfo.cs
- PageThemeBuildProvider.cs
- SecondaryIndexList.cs
- _ConnectionGroup.cs
- _DigestClient.cs
- FormatterServicesNoSerializableCheck.cs
- DrawingVisualDrawingContext.cs
- TableColumnCollection.cs
- InkCanvasAutomationPeer.cs
- UpDownBase.cs
- FileAuthorizationModule.cs
- TypefaceCollection.cs
- Nodes.cs
- PropertyTabAttribute.cs
- EntityWrapperFactory.cs
- safesecurityhelperavalon.cs
- DatagridviewDisplayedBandsData.cs
- Control.cs
- ByteStreamMessageUtility.cs
- SyncMethodInvoker.cs
- PropertyGridView.cs
- SqlDesignerDataSourceView.cs
- Font.cs
- ForwardPositionQuery.cs
- MasterPageCodeDomTreeGenerator.cs
- ColorConverter.cs
- BoundPropertyEntry.cs
- WorkflowTraceTransfer.cs
- DataTrigger.cs
- UseLicense.cs
- OptimizerPatterns.cs
- CustomAttribute.cs
- Overlapped.cs
- EdmItemCollection.OcAssemblyCache.cs
- XmlAttributes.cs
- HostProtectionException.cs
- DrawingState.cs
- VoiceSynthesis.cs
- XMLDiffLoader.cs
- BamlRecordWriter.cs
- OleDbCommandBuilder.cs
- InlineObject.cs
- EnumMemberAttribute.cs
- ProtocolProfile.cs
- RectangleGeometry.cs
- OletxTransactionFormatter.cs
- SelectionProviderWrapper.cs
- ArcSegment.cs
- SingleBodyParameterMessageFormatter.cs
- MemberBinding.cs
- TextRange.cs
- HealthMonitoringSectionHelper.cs
- TextSegment.cs
- EntityDataSourceWrapper.cs
- ResizeGrip.cs
- TypefaceMetricsCache.cs
- AppSecurityManager.cs
- CellQuery.cs
- Int32.cs
- FlowLayoutSettings.cs
- UIElement3D.cs
- XmlReflectionMember.cs
- CodeEventReferenceExpression.cs
- ItemContainerPattern.cs
- codemethodreferenceexpression.cs
- OlePropertyStructs.cs
- CompilerParameters.cs
- ClaimComparer.cs
- MailHeaderInfo.cs
- InputMethod.cs
- ValidatorUtils.cs
- FrameworkReadOnlyPropertyMetadata.cs
- UIElementParaClient.cs
- ColumnCollection.cs
- SiteMap.cs
- SchemaMerger.cs
- OleDbConnection.cs
- RegistrationServices.cs
- DateTimeConverter.cs
- DbDataAdapter.cs
- RelOps.cs
- Span.cs
- RSAOAEPKeyExchangeDeformatter.cs
- DataGridViewRowConverter.cs
- WebRequest.cs
- GridViewUpdatedEventArgs.cs
- NullableBoolConverter.cs
- ForwardPositionQuery.cs
- ToolTipService.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- PenThreadPool.cs
- LicenseContext.cs
- KeyInfo.cs
- Bezier.cs
- LateBoundBitmapDecoder.cs
- MultiPropertyDescriptorGridEntry.cs
- ExpressionHelper.cs
- SoapSchemaImporter.cs
- MulticastNotSupportedException.cs