Great thanks Paul

Followed your advice. Not sure if it was intellisense or Resharper but that really helped and saved me a whole lot of frustration getting the path correct.

<Image  Width="516"  Height="196"  HorizontalAlignment="Stretch"  
VerticalAlignment="Stretch"
                    Source="/PathWestImages;component/Resources/banner.jpg"  />

Now I have just got to tweak some code and then adjust some images to get them 
look  ok.

Regards Peter

On 12/01/2011 5:54 PM, Paul Stovell wrote:

Hi Peter,

What you have done should work.

Check that the Build Option of the image files in the assembly is set to Resource (not Embedded Resource/Content/None). Also double check that the file name is capitalized correctly. If it's in a folder, you'll need to include that too:

/PathWestImages;component/My/Path/To/File.jpg

You shouldn't need to set the bin\Debug path -- adding the reference from your main project (and making sure Copy Local = true in the project properties) should ensure it gets copied there.

Paul

*From:*[email protected] [mailto:[email protected]] *On Behalf Of *Peter Maddin
*Sent:* Wednesday, 12 January 2011 2:22 PM
*To:* [email protected]
*Subject:* WPF Images in a resource

I am learning WPF so I am very much a newbie. I want to be able to reference images with an Image control from within an assembly.
Something similar to the Resources available to WinForms development.

According to http://social.msdn.microsoft.com/forums/en-US/wpf/thread/16bce8a4-1ee7-4be9-bd7f-0cc2b0f80cf0/
You


   1. Create a control library and include the image files asResources
   2. In your app, add a reference to the library above
   3. Access the image files via "/<libraryName>;component/<path to
      image>" type of relative Uris. For e.g. if your control library
      is ImageStore.dll, then to refer to foo.png, you'd have
      "/ImageStore;component/foo.png"


In XAML, this can be <Image Source="/ImageStore;component/foo.png" />


I am not sure what a 'control' library is. I assumed that this was a 'class' library (which may be incorrect). I created one called PathWestImages and added a resources file to it and deleted the class added by default. I set it to build to the bin/debug directory of my WPF application. I added a jpg file to my resources class and did a build. I then added a reference to the class library in my WPF application.

In my XAML I tried

<Image Grid.ColumnSpan="3" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Stretch" Stretch="Fill" VerticalAlignment="Stretch" MinHeight="50" Source="/PathWestImages;component/banner.jpg">

But it says it cannot locate banner.jpg.

I did some googling and just found http://windowsclient.net/blogs/nidonocu/archive/2008/02/16/wpf-themes-and-control-libraries.aspx so I am fairly sure my preconceptions were invalid. I have not had time to read this fully as I have to go out for a while. I'll try and digest it when I get back.

Is there an easy way to do this? Any simple pointers to follow.

I thought that while WPF was different to WinForms, being such a graphically rich development environment this sort of thing would be easier than WinForms not harder.

Regards Peter




_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf
_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf

Reply via email to