ImageSourceValueSerializer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

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

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK