2017-01-25 11 views
0

Мое приложение имеет опцию switch-backgrounds, поэтому я хочу проверить, является ли фоновое изображение исходного файла Mainwindow's Background (тогда я установил его по умолчанию Background), проблема в том, что я не могу достичь его через this.Background.ImageSource, потому что такого варианта нет. Есть идеи?Как определить, имеет ли фон Window значение null?

+0

Возможного дубликат [Как попасть обнаружить на нулевом или прозрачный фоне] (HTTP: //stackoverflow.com/questions/15169358/how-to-hit-detect-on-a-null-or-transparent-background) –

+0

Извините, но это вопрос с кодом, а не XAML. – Yair

ответ

1

Вы могли бы бросить фон на ImageBrush с помощью оператора as и проверить есть ли у вас нулевая обратная ссылки:

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

Спасибо, это работает! Вы знаете, почему? – Yair

+1

Если для свойства Background установлено значение ImageBrush, приведение будет успешным, то есть вы получите ссылку на ImageBrush, и если у вас нет, вы получите нулевую ссылку. Это так просто: https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx – mm8