wpf - controles - xaml pdf español
¿Cómo pongo un borde alrededor de una imagen en WPF? (3)
Acabo de tropezar con esta publicación y la otra respuesta no funcionó bien. Tal vez porque ahora uso Framework 4 y esta publicación es vieja?
En cualquier caso, si alguien verá esto por casualidad en el futuro, esta es mi respuesta:
<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>
El grosor del borde y el pincel son importantes (si no elige un color, ¡no verá el borde!)
Además, el borde debe estar alineado en su ventana. La imagen está "dentro" del borde, por lo que puede usar márgenes o simplemente estirarlo como lo hice.
Tengo un StackPanel
contiene cinco imágenes y quiero poner un borde negro alrededor de cada imagen.
El XAML que tengo en este momento es:
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top" />
Pensé que solo podría poner un margen de una unidad o relleno en la imagen y establecer un color de fondo en 000000
pero el Padding
y el Background
son válidos para las imágenes.
¿Cuál es una manera fácil de hacer esto en XAML? ¿Realmente tengo que poner cada imagen dentro de otro control para obtener un borde alrededor o hay algún otro truco que pueda usar?
La respuesta aceptada no funcionará debido al problema descrito aquí https://wpf.2000things.com/2011/04/17/279-adding-a-border-around-an-image-control/
Lo solucioné de esta manera.
<Viewbox>
<Border BorderThickness="3" BorderBrush="Red">
<Image Stretch="None" ></Image>
</Border>
</Viewbox>
Simplemente envuelva la imagen en un control de borde
<Border BorderThickness="1">
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top" />
</Border>
También podría proporcionar un estilo que aplique a las imágenes que lo haga si no desea hacerlo en cada imagen
Solución final de respuesta y comentarios agregados por Pax:
<Border BorderThickness="1"
BorderBrush="#FF000000"
VerticalAlignment="Top">
<Image Name="imgPic1"
Width="100"
Height="75"
Stretch="Fill"
VerticalAlignment="Top"/>
</Border>