首页 > 解决方案 > WPF 图像周围奇怪的黑色背景

问题描述

在 MVVM WPF 应用程序中,我在图像周围有一个边框:

        <Border x:Name="PhotoBorder"
                    Background="Transparent"
                    Margin="3 0 5 0"
                    Grid.Row="3" Grid.RowSpan="7" 
                    Grid.Column="0"                        
                    Height="110" Width="110"
                    HorizontalAlignment="Center"
                    CornerRadius="5"
                    BorderThickness="1"
                    BorderBrush="LightSteelBlue">

            <Image x:Name="Photo"                     
                   Margin="3"
                   Height="{Binding ElementName=PhotoBorder, Path=Height-3}"
                   Width="{Binding ElementName=PhotoBorder, Path=Width-3}">
                <Image.Style>
                    <Style TargetType="{x:Type Image}">
                        <Setter Property="Source" Value="{Binding Path=PhotoImg, Converter={StaticResource ImageConverter}}" />
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path=PhotoImg}" Value="{x:Null}">
                                <Setter Property="Source" Value="/Resources/Photo.png"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </Image.Style>
            </Image>
        </Border>

问题是照片周围显示黑色背景,如下所示:

在此处输入图像描述

只有在将图像“/Resources/Photo.png”直接附加到“Source”属性时,DataTrigger 中的视图模型属性“PhotoImg”为空才会发生。

.. 同时我不知道为什么。有任何想法吗?有什么和照片有关的吗?

原始照片是:

在此处输入图像描述

注意:我使用的是 Visual Studio 2008 和 .NET Framework 3.5

标签: wpfimagemvvmvisual-studio-2008border

解决方案


推荐阅读