English 中文(简体)
WPF与Winform之间分享图表
原标题:Sharing Graphics between WPF and Winforms
  • 时间:2012-04-06 20:38:38
  •  标签:
  • wpf
  • winforms

I have a number of png, bitmaps and icons which I want to use in both Winforms projects and WPF projects.

我感到安慰的是,利用资源打赢,并对世界森林基金的资源感到高兴。

What are people doing where they have common resources shared by both? My current feeling is to have a WPF resource assembly and a Winforms resource assembly, but none of the approaches I ve looked at seem fluid.

感谢

最佳回答

I have a project with both WPF and Winforms controls. This project have resource folder, which contains all the images. Than I simply load them from the disk using relative path.
Assuming that your project name is "MyProject", and the images path is a folder named "MyImages", inside the projects folder, and your image name is "MyImage.bmp" you can load them as follows:

In Winforms:

new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyImages.MyImage.bmp")

<>In WPF

 <Image Source="pack://application:,,,/MyProject;Component/MyImages/MyImage.bmp">

Hope it helps...

问题回答

Amittai Shapira的回答是,如果将行动定为“有床位的资源”。 如果你确定行动为“资源”,你可以使用:

WinForms:

Bitmap photo;
var picUri = new Uri(@"pack://application:,,,/MyProject;component/MyImages/MyImage.bmp", UriKind.Absolute);
var resourceInfo = Application.GetResourceStream(picUri);

if (resourceInfo != null)
{
   photo = new Bitmap(resourceInfo.Stream);
}

http://www.hchr.org。

<Image Source="MyImages/MyImage.bmp"/>




相关问题
Bring window to foreground after Mutex fails

I was wondering if someone can tell me what would be the best way to bring my application to the foreground if a mutex was not able to be created for a new instance. E.g.: Application X is running ...

How to start WinForm app minimized to tray?

I ve successfully created an app that minimizes to the tray using a NotifyIcon. When the form is manually closed it is successfully hidden from the desktop, taskbar, and alt-tab. The problem occurs ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

Handle DataTable.DataRow cell change event

I have a DataTable that has several DataColumns and DataRow. Now i would like to handle an event when cell of this DataRow is changed. How to do this in c#?

Apparent Memory Leak in DataGridView

How do you force a DataGridView to release its reference to a bound DataSet? We have a rather large dataset being displayed in a DataGridView and noticed that resources were not being freed after the ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

WPF-XAML window in Winforms Application

I have a Winforms application coded in VS C# 2008 and want to insert a WPF window into the window pane of Winforms application. Could you explain me how this is done.

热门标签