내 응용 프로그램에서는 ImageSource 원본을 ImageSource에 바인딩하여 외부 DLL에서 가져온 이미지를 표시합니다.WPF : 단색 ImageSource
잘 작동하지만 가끔 내 DLL에서 데이터를 가져 오지 않고 검정색 이미지 만 표시하려고합니다. 이 경우 단색 만 포함 된 ImageSource를 어떻게 만듭니 까?
내 응용 프로그램에서는 ImageSource 원본을 ImageSource에 바인딩하여 외부 DLL에서 가져온 이미지를 표시합니다.WPF : 단색 ImageSource
잘 작동하지만 가끔 내 DLL에서 데이터를 가져 오지 않고 검정색 이미지 만 표시하려고합니다. 이 경우 단색 만 포함 된 ImageSource를 어떻게 만듭니 까?
이 필요합니다.
// XAML
<Grid Background="Black">
<Image x:Name="imgDisplay"/>
</Grid>
// C#
imgDisplay.Source = null;
// -- OR --
imgDisplay.Visibility = Visibility.Collapsed;
예를 들어 일부 속성 사진에 바인딩되는 템플릿 어딘가에 이미지가 있습니다. 실패한 경우 null 값을 반환 할 수 있습니다.
<Image Source="{Binding Path=Photo, IsAsync=True, TargetNullValue={StaticResource EmptyImageDrawing}}"/>
는 그리고 어딘가에 자원 당신은 다른 방법은 배경 색상을 제공하는 것입니다, 그리고 이미지를 표시하지
<DrawingImage
x:Key="EmptyImageDrawing">
<DrawingImage.Drawing>
<DrawingGroup>
<GeometryDrawing>
<GeometryDrawing.Brush>
<VisualBrush
AlignmentX="Center"
AlignmentY="Center"
Stretch="None">
<VisualBrush.Visual>
<TextBlock
Text="Failed to load photo"
FontFamily="Calibri"
FontSize="70"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
TextAlignment="Center"
TextWrapping="Wrap"/>
</VisualBrush.Visual>
</VisualBrush>
</GeometryDrawing.Brush>
<GeometryDrawing.Geometry>
<RectangleGeometry
Rect="0,0,1920,1080" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>