using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp57
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
InitImageDrawingGroup();
}
private void InitImageDrawingGroup()
{
DrawingGroup drawingGroup = new DrawingGroup();
ImageDrawing firstImg = new ImageDrawing();
firstImg.Rect = new Rect(0, 0, 400, 400);
firstImg.ImageSource = new BitmapImage(new Uri(@"../../Images/1.jpg", UriKind.RelativeOrAbsolute));
drawingGroup.Children.Add(firstImg);
ImageDrawing secondImg = new ImageDrawing();
secondImg.Rect = new Rect(400, 0, 400, 400);
secondImg.ImageSource = new BitmapImage(new Uri(@"../../Images/2.jpg", UriKind.RelativeOrAbsolute));
drawingGroup.Children.Add(secondImg);
ImageDrawing thirdImg = new ImageDrawing();
thirdImg.Rect = new Rect(0, 400, 800, 800);
thirdImg.ImageSource = new BitmapImage(new Uri(@"../../Images/3.jpg", UriKind.RelativeOrAbsolute));
drawingGroup.Children.Add(thirdImg);
ImageDrawing forthImg = new ImageDrawing();
forthImg.Rect = new Rect(800, 0, 800, 800);
forthImg.ImageSource = new BitmapImage(new Uri(@"../../Images/4.jpg", UriKind.RelativeOrAbsolute));
drawingGroup.Children.Add(forthImg);
DrawingImage drawImgSource = new DrawingImage(drawingGroup);
drawImgSource.Freeze();
Image imgControl = new Image();
imgControl.Stretch = Stretch.None;
imgControl.Source = drawImgSource;
Border imgBorder = new Border();
imgBorder.BorderBrush = Brushes.Black;
imgBorder.BorderThickness = new Thickness(10);
imgBorder.HorizontalAlignment = HorizontalAlignment.Stretch;
imgBorder.VerticalAlignment = VerticalAlignment.Stretch;
imgBorder.Child = imgControl;
this.Background = Brushes.White;
this.Margin = new Thickness(10);
this.Content = imgBorder;
}
}
}