using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;

using System.Windows.Media;

namespace FLY.Thick.Base.UI.Converter
{
    public class IO2BitColorConverter:IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            SolidColorBrush Color_theme_activity = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0x8B, 0xE5));
            SolidColorBrush Color_theme_static = new SolidColorBrush(Color.FromArgb(0xFF, 0x3B, 0x3B, 0x3B));
            try
            {
                UInt16 io = (UInt16)value;
                string str = (string)parameter;
                int bitno = int.Parse(str);
                if (Misc.MyBase.CHECKBIT(io, bitno))
                    return Color_theme_static;
                else
                    return Color_theme_activity;
            }
            catch{
                    return Color_theme_static;
            }
            
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
    public class IO2BinConverter : IValueConverter
    {
        #region IValueConverter 成员

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            UInt16 io = (UInt16)value;
            string str = System.Convert.ToString(io, 2);

            return str.PadLeft(10, '0');
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
