Object->DispatcherObject->DependencyObject->Visual->UIElement->FrameworkElement->Image
Image
表示用于显示图像的控件。
Image利用类,您可以加载以下图像类型: .bmp、.gif、.ico、.jpg、.png、. wdp 和 tiff。
显示多帧图像时,仅显示第一帧。 Image 控件不支持多帧图像的动画 。
在加载图像内容之前,控件的 ActualWidth 和 ActualHeight 将报告为零,因为图像内容用于确定控件的最终大小和位置。
对于固定大小的控件, 可以设置 Width 和Height属性。 但是,若要保留媒体的纵横比,请设置 Width 或 Height 属性,但不能同时设置二者。
名称 | 备注 | 权限 |
---|---|---|
DpiChangedEvent | 显示该图像的屏幕的 DPI 发生更改时使用的 RoutedEvent。 | public static readonly |
ImageFailedEvent | 标识 ImageFailed 路由事件。 | public static readonly |
SourceProperty | 标识 Source 依赖项属性。 | public static readonly |
StretchDirectionProperty | 标识 StretchDirection 依赖项属性。 | public static readonly |
StretchProperty | 标识 Stretch 依赖项属性。 | public static readonly |
名称 | 备注 | 权限 |
---|---|---|
BaseUri | 获取或设置 Image 的基本统一资源标识符 (URI)。 | get; set; |
Source | 获取或设置图像的 ImageSource。 | get; set; |
Stretch | 获取或设置一个值,该值描述应如何拉伸 Image 以填充目标矩形。 | get; set; |
StretchDirection | 获取或设置一个值,该值指示如何缩放图像。 | get; set; |
名称 | 备注 | 权限 |
---|---|---|
ArrangeOverride | 排列图像控件并调整其大小。 | protected |
MeasureOverride | 更新图像的 DesiredSize。 此方法由父 UIElement 调用,并且第一个布局处理过程。 | protected |
OnCreateAutomationPeer | 创建并返回此 AutomationPeer 的 Image 对象。 | protected |
OnDpiChanged | 此图像的 DPI 呈现变更时进行调用。 | protected |
OnRender | 呈现 Image 的内容。 | protected |
名称 | 备注 |
---|---|
public event System.Windows.DpiChangedEventHandler DpiChanged; | |
protected override void OnRender (System.Windows.Media.DrawingContext dc); |
名称 | 备注 |
---|---|
public event System.Windows.DpiChangedEventHandler DpiChanged; |
XAML范例
<Window x:Class="ImageDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ImageDemo"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Image Source="/Img/icon.png" Stretch="Uniform" StretchDirection="Both"/>
</Window>
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 ImageDemo
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
C#范例
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 ImageDemo
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Image image = new Image
{
//Source =new BitmapImage(new Uri("pack://application:,,,/Img/icon.png", UriKind.Absolute)),
Source = new BitmapImage(new Uri("Img/icon.png", UriKind.Relative)),
Stretch = Stretch.Uniform,
StretchDirection= StretchDirection.Both
};
this.Content = image;
}
}
}