■ IValueConverter 인터페이스 : 정수→선형 그라디언트 브러시 값 변환자 만들기

----------------------------------------------------------------------------------------------------

using System;

using System.Globalization;

using System.Windows.Data;

using System.Windows.Media;

 

/// <summary>

/// 정수→선형 그라디언트 브러시 값 변환자

/// </summary>

public class IntegerToLinearGradientBrushValueConverter : IValueConverter

{

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 생성자 - IntegerToLinearGradientBrushValueConverter()

 

    /// <summary>

    /// 생성자

    /// </summary>

    public IntegerToLinearGradientBrushValueConverter()

    {

    }

 

    #endregion

 

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 변환하기 - Convert(value, targetType, parameter, cultureInfo)

 

    /// <summary>

    /// 변환하기

    /// </summary>

    /// <param name="value"></param>

    /// <param name="targetType">타겟 타입</param>

    /// <param name="parameter">매개 변수</param>

    /// <param name="cultureInfo">CultureInfo 객체</param>

    /// <returns>변환 값</returns>

    public object Convert(object value, Type targetType, object parameter, CultureInfo cultureInfo)

    {

        if(value == null)

        {

            return Brushes.Transparent;

        }

 

        if(value.GetType() != typeof(int))

        {

            return Brushes.Transparent;

        }

 

        if(value == null || (int)value >= 20)

        {

            return Brushes.White;

        }

 

        return new LinearGradientBrush(Color.FromArgb(100, 255, 0, 0), Color.FromArgb(0, 255, 0, 0), 0);

    }

 

    #endregion

 

    #region 역변환하기 - ConvertBack(value, targetType, parameter, cultureInfo)

 

    /// <summary>

    /// 역변환하기

    /// </summary>

    /// <param name="value"></param>

    /// <param name="targetType">타겟 타입</param>

    /// <param name="parameter">매개 변수</param>

    /// <param name="cultureInfo">CultureInfo 객체</param>

    /// <returns>역변환 값</returns>

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo cultureInfo)

    {

        throw new NotImplementedException();

    }

 

    #endregion

}

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG