tags:

views:

4699

answers:

3

I am trying to do this...

<Image x:Name="imgGroupImage" Source="Images\unlock.png" Margin="0,0,5,0" />

But I get this error...

Cannot convert string 'Images\unlock.png' in attribute 'Source' to object of type 'System.Windows.Media.ImageSource'. Cannot locate resource 'forms/images/unlock.png'. Error at object 'System.Windows.HierarchicalDataTemplate' in markup file 'Fuse;component/forms/mainwindow.xaml' Line 273 Position 51.

As you can see, my form that includes this XAML is in a folder named Forms. My Images are in a folder named Images. How do I map from Forms to Images?

I tried Source="..Images\unlock.png" which does not work in WPF.

Any help?

+5  A: 

Try slashes rather than backslashes, and use an absolute path by leading with a slash:

Source="/Images/unlock.png"

That generally works for me.

Failing that, take a look at Pack URIs.

Matt Hamilton
DOH! That was too easy. Thanks!
Doug
A: 

Have you tried setting the source to a BitmapImage?

<Image x:Name="imgGroupImage" Margin="0,0,5,0"  >
   <Image.Source>
      <BitmapImage UriSource="Images/unlock.png" />
   </Image.Source>
</Image>

I believe the default type of Uri for UriSource is a relative Uri, which works off the application's base class. You might find you can configure the BitmapSource a bit easier than trying to find the exact way you have to enter the file path in the Source attribute.

Will
A: 

how can i give absolute path in wpf ????????????????????

this is relative path NavigationService.Navigate(new System.Uri("Second.Xaml", UriKind.Relative));

NavigationService.Navigate(new System.Uri("Second.Xaml", UriKind.RelativeOrAbsolute));

// dont know how to use and why to use // not working // ((NavigationWindow)(Application.Current.MainWindow)).Navigate(new System.Uri("Second.Xaml", UriKind.RelativeOrAbsolute));

you should ask your own question and phrase it properly without excessive punctuation.
Pop Catalin