Je développe un contrôle d'image personnalisé dans WPF .NET 3.5 et Visual Studio 2010.WPF Comment centrer le Image.Source
En WinForms le contrôle PicutreBox a le SizeMode propriété qui comprend "CenterImage ".
Je souhaite que le contrôle Image ait cette capacité.
Y at-il de toute façon?
Merci
Mon code 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>
Mon code 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;
}
}
Où "webcam_backgroud" est une image .png ajoutée par l'éditeur par défaut des ressources de Visual Studio.
J'ai essayé, mais il n'a pas l'effet que je m'attendais. Maintenant, il réduit beaucoup mon image et la place dans le coin supérieur gauche. Aucun: http://img28.imageshack.us/img28/1783/imagestretchnone.png Uniforme: http://img810.imageshack.us/img810/2401/imagestretchuniform.png – JoanComasFdz
@unexpectedkas: Pouvez-vous éditer votre question inclure une partie de votre XAML? L'image sera centrée dans le contrôle Image par défaut, mais le contrôle Image peut ne pas être centré ou étiré sur son parent. Par exemple, si votre fenêtre entière est une grille avec une image, elle sera centrée, mais si c'est une toile avec une image, elle sera dans le coin supérieur gauche. – Quartermeister
Ok, je viens de le faire. J'ai réglé l'alignement H/V au centre et, oui, les centres de l'image. Merci beaucoup. Quoi qu'il en soit, le Stretch doit être "Uniforme". J'étais confus parce que le contrôle bougeait sur la fenêtre ¬¬ ' – JoanComasFdz