2014-02-05 7 views
0

업데이트 됨 : Silverlight 응용 프로그램에서 Button.Background를 {# FF008F06} 등의 16 진수 색으로 비교하거나 확인하려면 어떻게해야합니까? 프로그래밍 방식으로 C# 코드를 사용합니까?Silverlight에서 Button.Background를 프로그래밍 방식으로 C# 코드를 사용하여 16 진수 색상으로 비교하거나 확인하려면 어떻게해야합니까?

+0

호기심 물어? –

+0

테스트 케이스에서 버튼 색상을 확인해야합니다 – venkat

답변

3

배경 속성 유형 Brush이며, 그래서 등등 SolidColorBrush 또는 GradientBrush 등을 할 수있다.

다양한 유형을 구분하고 올바른 비교를 수행해야한다고 생각합니다. 예를 들어

:

if(Button.Background is SolidColorBrush) 
{ 
    bool isRed = ((SolidColorBrush)Button.Background).Color == Colors.Red; 
} 
else if (Button.Background is GradientBrush) 
{ 
    ... 
} 

A는 특정 16 진수 색상을 비교하려면 다음이 필요합니까 왜

bool flag = ((SolidColorBrush)Button.Background).Color == 
          (Color)ColorConverter.ConvertFromString("#FF008F06"); 
+0

어떻게 Button.Background 16 진수 색상 값과 같은 비교할 수 있습니다 # FF008F06} – venkat

+0

내 질문 업데이트 됨 – venkat

+1

@sukumar 내 편집을 참조하십시오 – Alberto

0

EDIT 테스트 어설

var Greenish = new SolidColorBrush(Colors.Green); 
Assert.AreEqual(Greenish.Color, ((SolidColorBrush)Button.backGround)).Color; 
+0

더 나은 방법으로 'Assert' 문을 사용할 수 있습니까? – venkat

+0

나는 그것을 추가했으나 작동 여부는 확실하지 않다. : – Schuere

+0

왜 downvote인가? – Schuere