2009-07-30 4 views
1

Silverlight에서 XAML의 색상을 설정할 때 다양한 색상을 사용할 수 있지만 색상을 프로그래밍 방식으로 설정하는 경우 옵션이 제한적인 것처럼 보입니다.Silverlight에서 WPF의 다양한 색상에 액세스

예를 들어, 실버 라이트 XAML에서 나는

배경에 "앨리스 블루", "앤틱 화이트"등을 설정할 수 있습니다하지만 숨김 코드에서 동일한 배경을 설정하려고하면, 난 Colors 클래스를 기반으로하는 매우 한정된 색상 세트로 제한됩니다. 검정, 파랑, 갈색 ... 흰색, 노란색. 이 같은 뭔가 놀이에 와서 :

var brush = new SolidColorBrush(); 
var c = new Color 
      { 
       A = 0xFF, 
       R = Convert.ToByte (colorString.Substring (0, 2), 16), 
       G = Convert.ToByte (colorString.Substring (2, 2), 16), 
       B = Convert.ToByte (colorString.Substring (4, 2), 16) 
      }; 

brush.Color = c; 

return (brush); 

: 내가 같이 내가 RGB 값을 통해 원하는 색상을 설정할 수 있습니다 알고

uxPanel.Background = new SolidColorBrush (Colors.Green); 

(여기서 colorsString는 "112345"같은 것입니다) 그러나 XAML 또는 스타일을 통해 액세스 할 수있는 다양한 색상 이름을 활용하려면 어떻게해야합니까? 프로그래밍 방식으로 코드 숨김으로 설정합니까? 또는 Silverlight에서이 기능을 사용할 수 있습니까?

+0

WPF에서 [색상]과 [브러쉬]의 차이점을 볼 수 없습니다. 열거 형은 거의 같습니다. 나는 체크 SL를 havent한다. –

+0

네, 실버 라이트에 맞습니다. –

답변

1

나는이 질문을 이해하고 있는지 잘 모르겠다. XAML에서 내 코드 숨김에서 나는 색상이 객체를 통해 예 : "앤티크 화이트"와 같은 색상에 액세스 할 수 있습니다

var c = Colors.AntiqueWhite; 

그것은 당신이 XAML에 액세스 할 수있는 제품의 색상의 다른 세트 아니다.

System.Drawing.Color 또는 System.Windows.Media.Colors을 참조하여 AntiqueWhite와 같은 색상을 사용할 수 있습니다. 당신이 정말로 당신에게 작업 할 색상의 제한된 집합을 제공 않습니다 System.Windows.Media.Colors class in Silverlight에 대해 구체적으로 얘기처럼

편집 그래서 보인다. 얼마나 이상한가!

가장 쉬운 방법은 MSDN documentation on the WPF version의 ARGB 값을 사용하여 클래스를 정의하는 것입니다.

public static class ExtraColors 
{ 
    private static Color _antiqueWhite = Color.FromArgb(0xFF, 0xFA, 0xEB, 0xD7); 
    // etc 

    public static Color AntiqueWhite { get { return _antiqueWhite; } } 
    // etc 
} 

황당, 나도 알아,하지만 적어도 당신에게 그 여분의 색상의 읽을 수있는 코드 액세스 목록을 얻을 것이다 : 같은 뭔가.

+0

그의 질문은 실버 라이트를 말하는 것 같습니다. Silverlight 색상 열거 형은 코드 뒤에 –

+0

으로 제한됩니다. 와우 - 네 말이 맞아. http://msdn.microsoft.com/en-us/library/system.windows.media.colors_members(VS.95).aspx –

+0

오, 죄송합니다. WPF와 Silverlight 사이에서 접근 할 수있는 색상의 차이점이 있다는 것을 깨닫지 못했습니다. 질문에 다시 태그를 답니다. –

2

Silverlight.net posted code의 누군가가 C#에서 XAML 색을 다시 만들 수 있습니다.

+0

링크를 제공해 주셔서 감사합니다. 방금 많은 시간을 절약 해 줬어. –

+0

위대한 링크, 그것을 보관 된 버전으로 발견 : http://web.archive.org/web/20090802111212/http://silverlight.net/forums/p/13225/43867.aspx – ShawnFeatherly

관련 문제