Estoy desarrollando un control de imagen personalizado en WPF .NET 3.5 y Visual Studio 2010.WPF Cómo centrar el Image.Source
En WinForms el control dePicutreBox tiene la propiedadSizeMode que incluye "CenterImage ".
Quiero que mi control de imagen tenga esa capacidad.
¿Hay alguna manera?
Gracias
Mi código XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="768" Width="1024" xmlns:my="http://schemas.sharpsoft.net/xaml" xmlns:my1="clr-namespace:WpfApplication1">
<Grid>
<my1:CustomControl1
x:Name="customControl11"
Width="206"
Height="197"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="18,58,0,0"
Stretch="Uniform"/>
</Grid>
</Window>
mi código CustomControl:
public class CustomControl1 : Image
{
public CustomControl1()
{
// Bitmap to Stream
Stream ms = new MemoryStream();
Properties.Resources.webcam_background.Save(ms, ImageFormat.Png);
// Stream to BitmapImage
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = ms;
bitmap.EndInit();
// Set it
Source = bitmap;
}
}
Donde "webcam_backgroud" es una imagen PNG añadido por el editor de recursos de Visual Studio por defecto.
tengo probado, pero no está obteniendo el efecto que esperaría. Por ahora, reduce mucho mi imagen y la coloca en la esquina superior izquierda. Ninguno: http://img28.imageshack.us/img28/1783/imagestretchnone.png Uniforme: http://img810.imageshack.us/img810/2401/imagestretchuniform.png – JoanComasFdz
@unexpectedkas: ¿Se puede editar su pregunta para incluir algunos de tus XAML? La imagen se dibujará centrada en el control de Imagen de forma predeterminada, pero el control de Imagen puede no estar centrado o estirado en su elemento principal. Por ejemplo, si toda su ventana es una Cuadrícula con una Imagen, entonces estará centrada, pero si se trata de un Lienzo con una Imagen, entonces estará en la esquina superior izquierda. – Quartermeister
Ok, acabo de hacerlo. Configuré H/V al centro y, sí, la imagen se centra. Muchas gracias. De todos modos, para verlo bien, Stretch debe ser "Uniform". Estaba confundido porque el control se movió en la ventana ¬¬ ' – JoanComasFdz