Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / ImageSourceValueSerializer.cs / 2 / ImageSourceValueSerializer.cs
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2005
//
// File: ImageSourceValueSerializer.cs
//
// Contents: Value serializer for ImageSource instances
//
// Created: 06/21/2005 chuckj
//
//-----------------------------------------------------------------------
#pragma warning disable 1634, 1691 // Allow suppression of certain presharp messages
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Windows.Markup;
using System.Windows.Media.Imaging;
namespace System.Windows.Media
{
///
/// Value serializer for Transform instances
///
public class ImageSourceValueSerializer : ValueSerializer
{
///
/// Returns true.
///
public override bool CanConvertFromString(string value, IValueSerializerContext context)
{
return true;
}
///
/// Returns true if the given transform can be converted into a string
///
public override bool CanConvertToString(object value, IValueSerializerContext context)
{
ImageSource imageSource = value as ImageSource;
#pragma warning disable 6506
return imageSource != null && imageSource.CanSerializeToString();
#pragma warning restore 6506
}
///
/// Converts a string into a transform.
///
public override object ConvertFromString(string value, IValueSerializerContext context)
{
if (!string.IsNullOrEmpty(value))
{
UriHolder uriHolder = TypeConverterHelper.GetUriFromUriContext(context, value);
return BitmapFrame.CreateFromUriOrStream(
uriHolder.BaseUri,
uriHolder.OriginalUri,
null,
BitmapCreateOptions.None,
BitmapCacheOption.Default,
null
);
}
return base.ConvertFromString(value, context);
}
///
/// Converts a transform into a string.
///
public override string ConvertToString(object value, IValueSerializerContext context)
{
ImageSource imageSource = value as ImageSource;
if (imageSource != null)
return imageSource.ConvertToString(null, CultureInfo.GetCultureInfo("en-us"));
else
return base.ConvertToString(value, context);
}
}
}
// 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
- TextServicesCompartmentEventSink.cs
- StylusButtonEventArgs.cs
- IpcChannelHelper.cs
- Publisher.cs
- TileModeValidation.cs
- TypeSource.cs
- Rect.cs
- TextReader.cs
- HtmlWindow.cs
- Main.cs
- XmlDocument.cs
- CopyOfAction.cs
- MediaContextNotificationWindow.cs
- SqlDataReader.cs
- WebPartsSection.cs
- HandlerWithFactory.cs
- XmlSchemaAppInfo.cs
- diagnosticsswitches.cs
- ObjectSet.cs
- PackageRelationship.cs
- DetailsView.cs
- SystemEvents.cs
- DesignerSerializerAttribute.cs
- Rect3DConverter.cs
- DataServiceQueryProvider.cs
- HandlerMappingMemo.cs
- ReachSerializer.cs
- peersecuritysettings.cs
- ModuleBuilderData.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- HostProtectionPermission.cs
- ComboBoxAutomationPeer.cs
- ScriptReferenceEventArgs.cs
- AssemblyCollection.cs
- DynamicValidatorEventArgs.cs
- CacheMemory.cs
- Attributes.cs
- InvokeMethod.cs
- KeyValuePairs.cs
- RectIndependentAnimationStorage.cs
- CodeMethodInvokeExpression.cs
- MetafileHeaderWmf.cs
- StrokeDescriptor.cs
- CodeGotoStatement.cs
- BehaviorEditorPart.cs
- SchemaSetCompiler.cs
- ControlBuilder.cs
- HttpClientChannel.cs
- ToolboxComponentsCreatedEventArgs.cs
- complextypematerializer.cs
- CallContext.cs
- WindowsTooltip.cs
- PropertyCondition.cs
- SHA256.cs
- JsonQNameDataContract.cs
- Attributes.cs
- TypeCollectionPropertyEditor.cs
- FormParameter.cs
- RoutedUICommand.cs
- MulticastDelegate.cs
- IssuedTokenParametersElement.cs
- FontUnit.cs
- BindingEntityInfo.cs
- ServiceTimeoutsElement.cs
- TimeEnumHelper.cs
- SEHException.cs
- Memoizer.cs
- HierarchicalDataSourceControl.cs
- EndOfStreamException.cs
- Int32RectConverter.cs
- Validator.cs
- ActivitySurrogateSelector.cs
- MobileListItem.cs
- GraphicsState.cs
- CodeChecksumPragma.cs
- TrackingQuery.cs
- RangeValidator.cs
- XmlValidatingReaderImpl.cs
- BindingList.cs
- InputBuffer.cs
- WriteStateInfoBase.cs
- DrawTreeNodeEventArgs.cs
- OleDbDataReader.cs
- SqlBooleanizer.cs
- TcpProcessProtocolHandler.cs
- TextAutomationPeer.cs
- BitmapFrame.cs
- PerfCounterSection.cs
- BatchParser.cs
- SplitterPanel.cs
- CodeDirectionExpression.cs
- TemplateGroupCollection.cs
- ResourcesBuildProvider.cs
- WebDisplayNameAttribute.cs
- DataControlFieldHeaderCell.cs
- TryExpression.cs
- GeneralTransform2DTo3D.cs
- RewritingSimplifier.cs
- DataGridPagerStyle.cs
- ObjectSelectorEditor.cs