我有StackPanel
包含五张图片,我想在每张图片周围放一个黑色边框。
我目前的XAML是:
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top" />
我以为我只能在图像上放置一个单位边距或填充,并将背景颜色设置为000000
,但Padding
和Background
对图像均无效
在XAML中执行此操作的简单方法是什么?我是否真的必须将每个图像放在另一个控件中以获得它周围的边框,还是我可以使用其他一些技巧?
答案 0 :(得分:57)
只需将图像包装在边框控件
中<Border BorderThickness="1">
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top" />
</Border>
如果您不想围绕每个图像执行此操作,您还可以提供应用于图像的样式
Pax提供的答案和评论的最终解决方案:
<Border BorderThickness="1"
BorderBrush="#FF000000"
VerticalAlignment="Top">
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top"/>
</Border>
答案 1 :(得分:3)
我只是偶然发现了这篇文章而另一个答案没有成功。也许是因为我现在使用框架4并且这篇文章已经过时了?
无论如何 - 如果有人将来偶然看到这个 - 这是我的回答:
<Border Name="brdSiteLogo"
BorderThickness="2"
BorderBrush="#FF000000"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Margin="12,112,0,0"
Height="128"
Width="128">
<Image Name="imgSiteLogo"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stretch="Fill"/>
</Border>
边框粗细和画笔很重要(如果您不选择颜色 - 您将看不到边框!)
此外,边框应在窗口上对齐。图像位于边框“内部”,因此您可以使用边距或像我一样拉伸它。
答案 2 :(得分:1)
由于此处描述的问题,接受的答案将无效 https://wpf.2000things.com/2011/04/17/279-adding-a-border-around-an-image-control/
我这样解决了。
Date.prototype.timezone = function () {
this.setHours(this.getHours() + (new Date().getTimezoneOffset() / 60));
return this;
}