【发布时间】:2021-02-03 11:12:36
【问题描述】:
我正在寻找一种在具有专用边距的按钮中添加背景图像的方法。现在我有这样的东西:
<Button Grid.Column="3" Margin="2,0">
<Button.Background>
<ImageBrush Stretch="Fill" TileMode="None">
<ImageBrush.ImageSource>
<DrawingImage Drawing="{StaticResource MyImage}" />
</ImageBrush.ImageSource>
</ImageBrush>
</Button.Background>
</Button>
这会用图像完全填充我的按钮。这是(我认为......)正确的行为。现在我想在背景图像周围留一个小边距。我没有找到这样做的方法,因为图像画笔和绘图图像都没有提供这样的属性。我知道我可以使用按钮内容来制作提供边距的图像,但是通过这种方法,当我将按钮放在滚动查看器控件中时,按钮图像的行为很奇怪(当我调整视图大小时按钮会增长,但是图像保持小)。处理这个问题的最佳方法是什么?
- 更新 *
根据下面的答案,自定义样式似乎是最合适的。无论如何,也许我的问题实际上不是按钮本身,而是按钮周围的滚动查看器。我已经附加了两个图像,第一个带有滚动视图,第二个没有。使用滚动查看器,图像很小,不适合按钮,所以这可能是这里的根本原因?任何建议:
没有滚动查看器:
【问题讨论】:
-
看来需要设置
Padding。 -
我想我找到了滚动查看器问题的问题。这是缺少属性“HorizontalContentAlignment”和“VerticalContentAlignment”到“Stretch”。有时 WPF 让我非常疯狂:-)
标签: c# wpf xaml wpf-controls