2017-01-25 13 views
0

내 응용 프로그램은 스위치 배경 옵션이 있습니다. 따라서 메인 윈도우의 배경 이미지 소스가 널 (nulled)인지 (기본 배경으로 설정할지) 확인하고 싶습니다. 문제는 this.Background.ImageSource을 통해 접근 할 수 없기 때문입니다. 그런 선택은 없습니다. 어떤 아이디어?Window의 Background가 null인지 어떻게 알아 내는가?

+0

가능한 복제 (HTTP [null 또는 투명 배경에 감지를 공격하는 방법] //stackoverflow.com/questions/15169358/how-to-hit-detect-on-a-null-or-transparent-background) –

+0

죄송하지만 이것은 XAML이 아니라 코드 숨김 문제입니다. – Yair

답변

1

당신은 as 연산자를 사용하여 ImageBrush와의 배경을 캐스팅 다시 null 참조를 가지고 있는지 여부를 확인할 수 있습니다 :

ImageBrush brush = this.Background as ImageBrush; 
if(brush == null || brush.ImageSource == null) 
{ 
    //no ImageBrush set as the Background... 
} 
+0

감사합니다. 작동합니다! 왜 그런지 아십니까? – Yair

+1

Background 속성이 ImageBrush로 설정된 경우 캐스팅은 성공합니다. 즉, ImageBrush에 대한 참조를 가져오고, 그렇지 않으면 다시 null 참조를 가져옵니다. 다음과 같이 간단합니다. https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx – mm8