0
16 진수 값을 사용하여 Blend 또는 Photoshop에서 수행 한 것처럼 사용자가 색상을 설정할 수 있도록하고 싶습니다. 내 XAML UI에 어떻게 저장하고 사용할 수 있습니까?내 UWP 응용 프로그램에서 16 진수 값으로 색상 사용
16 진수 값을 사용하여 Blend 또는 Photoshop에서 수행 한 것처럼 사용자가 색상을 설정할 수 있도록하고 싶습니다. 내 XAML UI에 어떻게 저장하고 사용할 수 있습니까?내 UWP 응용 프로그램에서 16 진수 값으로 색상 사용
표준 Windows.UI.Color
클래스를 사용하여 색상을 선택하는 가장 쉬운 방법 일 것입니다. 그러나이 같은 간단, 16 진수 값으로 변환 :
Windows.UI.Color c = Windows.UI.Colors.Red;
string hexString = string.Format("#{0:X2}{1:X2}{2:X2}", c.R, c.G, c.B);
이 XAML에서 HEX 값을 사용하려면 변환기를 사용해야합니다.
사용 변환기에public class HexColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (!(value is Windows.UI.Color)) return null;
Windows.UI.Color c = (Windows.UI.Color)value;
string hex = string.Format("#{0:X2}{1:X2}{2:X2}", c.R, c.G, c.B);
return hex;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
if (!(value is string)) return null;
Windows.UI.Color c = new Windows.UI.Color();
string t = (string)value;
try
{
c.A = (byte)255;
c.R = (byte)int.Parse(t.Substring(1, 2), System.Globalization.NumberStyles.HexNumber);
c.G = (byte)int.Parse(t.Substring(3, 2), System.Globalization.NumberStyles.HexNumber);
c.B = (byte)int.Parse(t.Substring(5, 2), System.Globalization.NumberStyles.HexNumber);
}
catch
{
throw (new ArgumentException("Invalid color. Must be something like #AABBCC"));
}
return c;
}
}
더, see MSDN
는 당신이 정확하게 수행 할 작업 : 예를 들어? 사용자가 TextBox에 16 진수 값 (#FFFFFF)을 쓰고 그 색으로 무언가의 색을 변경하고 싶습니까? –