将图像加载到面板
本文关键字:加载 图像 | 更新日期: 2023-09-27 17:56:25
>我在项目中创建了一个文件夹"images"。
当调用函数 SetImage() 时,我想从/images/image.jpg 中获取图像并将其放在我的面板上。
xaml 上的面板声明如下所示:
xmlns:my="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
<my:WindowsFormsHost Name="windowsFormsHost1">
<wf:Panel x:Name="panelWinform" Dock="Fill" />
</my:WindowsFormsHost>
工作 ti 的示例在面板中显示控件:
panelWinform.Controls.Clear();
panelWinform.Controls.Add(controlObject);
controlObject.Dock = System.Windows.Forms.DockStyle.Fill;
如何放置图片而不是控件对象?
.clear() 有什么作用?我需要再次调用它吗?
如果没有WinForms,这将非常容易。您可能有一个网格或其他面板:
<Grid x:Name="panel">
</Grid>
,只需将图像控件添加到面板,如下所示。
public void SetImage()
{
var uri = new Uri("pack://application:,,,/images/image.png");
var bitmap = new BitmapImage(uri);
var image = new Image { Source = bitmap };
panel.Children.Add(image);
}
图像 URI 如下所示,因为我假定图像文件是 Visual Studio 项目中的一个资源。有关一些详细信息,请参阅打包 URI。您也可以为 URI 使用绝对或相对文件路径。