Я разрабатываю управление пользовательским изображением в.NET WPF 3.5 и Visual Studio 2010.
В WinForms управление PicutreBox имеет свойство SizeMode, которое включает "CenterImage".
Я хочу, чтобы мое управление Изображением имело ту способность.
Есть ли так или иначе?
Спасибо
Мой код 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>
Мой код 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;
}
}
Где "webcam_backgroud" является изображением png, добавленным редактором ресурса Visual Studio по умолчанию.
Установите Растяжение на Нет.
<Image Source="..." Stretch="None" />
Вы должны попытаться центрировать весь элемент Image
, используя выравнивание:
<Grid>
<Image Stretch="None"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>