2017-01-25 2 views
0

私のアプリケーションにはスイッチバックのオプションがありますので、メインウィンドウの背景の画像ソースがゼロになっているかどうかを確認したいのですが(デフォルトの背景に設定します)、問題はthis.Background.ImageSourceで届きません。そのような選択肢はありません。何か案は?ウィンドウの背景がヌルかどうかを検出するには?

+0

が重複する可能性を//stackoverflow.com/questions/15169358/how-to-hit-detect-on-a-null-or-transparent-background) –

+0

すみませんが、これはXAMLではなくコードビハインドの問題です。 – Yair

答えて

1

あなたはas演算子を使用してImageBrushに背景をキャストし、あなたが戻ってnull参照を持っているかどうかを確認できます:[nullまたは透明な背景の上に検出を打つ方法](HTTPの

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

関連する問題