WPF按钮与图像刷问题

时间:2013-11-22 06:32:42

标签: c# wpf

基本上我想要图像按钮。

<Button Command="{Binding Path=DisplayProductCommand}" >
   <Button.Background>
       <ImageBrush ImageSource="test.jpg"/>
   </Button.Background>
</Button>

通过使用上述方法,我遇到的问题是图像没有覆盖整个按钮。

enter image description here

如上所示,这是结果,周围有透明的空间。 请在下面找到原始图片:

enter image description here

我可以做些什么来覆盖整个按钮?

2 个答案:

答案 0 :(得分:0)

您需要重新编写按钮的controltemplate,通过删除 ButtonChrome 来替换默认布局,或者您可以将按钮的 BorderThickness 属性设置为零。

<Button Command="{Binding Path=DisplayProductCommand}" BorderThickness="0">
   <Button.Background>
       <ImageBrush ImageSource="test.jpg"/>
   </Button.Background>
</Button>

答案 1 :(得分:0)

正如@geedub所提到的,你可以定义一个颜色渐变来匹配那个图像:

<Button Content="Look at my background" Padding="10,5">
    <Button.Background>
        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
            <GradientStop Offset="0" Color="#FFE5E5E5" />
            <GradientStop Offset="1" Color="#FFBABED3" />
        </LinearGradientBrush>
    </Button.Background>
</Button>

如果这不能满足您的要求,那么我建议您裁剪图像以消除chao wang提到的阴影效果。