我将其设置为前景时未显示WPF按钮图像

时间:2017-07-19 17:20:45

标签: c# wpf image button

我有一个按钮,我需要有一个彩色背景,但在我需要有一个图像的颜色之上。我确实添加了背景颜色并在前景中添加了图像。一旦我添加到前景,图像就不显示了。

如果我将图像添加到背景中,它将会出现。任何的想法?

<Button x:Name="btnInkMode" Content="" Height="20" VerticalAlignment="Top" IsEnabled="True" HorizontalAlignment="Left" Width="20" Canvas.Left="554" Canvas.Top="5" Click="btnInkMode_Click" Background="#FFFFD56A">
    <Button.Foreground>
        <ImageBrush ImageSource="../Resources/pen-icon.gif"/>
    </Button.Foreground>
</Button>

1 个答案:

答案 0 :(得分:2)

前景是文字的颜色。由于Content是一个空字符串,Foreground无关紧要(没有任何东西可以用这种颜色显示)。

将图片添加为内容:

<Button x:Name="btnInkMode" Height="20" VerticalAlignment="Top" IsEnabled="True" HorizontalAlignment="Left" Width="20" Canvas.Left="554" Canvas.Top="5" Click="btnInkMode_Click" Background="#FFFFD56A">
    <Button.Content>
        <Image Source="../Resources/pen-icon.gif"/>
    </Button.Content>
</Button>

实际上你甚至不需要写<Button.Content>标签。上面和下面的代码是等价的:

<Button x:Name="btnInkMode" Height="20" VerticalAlignment="Top" IsEnabled="True" HorizontalAlignment="Left" Width="20" Canvas.Left="554" Canvas.Top="5" Click="btnInkMode_Click" Background="#FFFFD56A">
    <Image Source="../Resources/pen-icon.gif"/>
</Button>