Click here to Skip to main content
15,884,975 members
Articles / Multimedia / Audio

Build a Pandora clone with Silverlight 4

Rate me:
Please Sign up or sign in to vote.
4.94/5 (51 votes)
23 Oct 2012Ms-PL23 min read 191.1K   78  
Exercising Silverlight 4 to build a fun, real-world app
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
using JudahHimango.Chavah.MessianicMusicService;

namespace JudahHimango.Chavah
{
    public class SongLikeToThumbUp : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is SongLike)
            {
                return new Nullable<bool>(((SongLike)value) == SongLike.Like);
            }
            return new Nullable<bool>(false);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return ((bool)value) ? SongLike.Like : SongLike.Dislike;
            }
            return SongLike.None;
        }

        #endregion
    }

    public class SongLikeToThumbDown : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is SongLike)
            {
                return new Nullable<bool>(((SongLike)value) == SongLike.Dislike);
            }
            return new Nullable<bool>(false);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return ((bool)value) ? SongLike.Dislike : SongLike.Like;
            }
            return SongLike.None;
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Software Developer 3M
United States United States
Front end developer, RavenDB enthusiast, blogger, musician, husband, and father of 3.

Comments and Discussions