To load a picture from file in C#:
img1.SetValue( Image.SourceProperty, new ImageSourceConverter( ).ConvertFromString( @"C:\MyFiles\SomeImage.png" ) );
where img1 is a picture control:
<Image x:Name="img1" />
To load it from a subfolder (e.g. "Images") of the executable using relative path:
img1.SetValue( Image.SourceProperty, new ImageSourceConverter( ).ConvertFromString( System.IO.Path.Combine( System.IO.Path.GetDirectoryName( Assembly.GetEntryAssembly( ).Location ), @"Images\SomeImage.png" ) ) );
There are different approaches.