private void PopulateImageFile( string imageFileName )
{
string appPath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
string appDirectory = Path.GetDirectoryName( appPath );
txtLogoFile.Text = imageFileName;
txtLogoFile.ToolTip = imageFileName;
Uri imageFileUri;
if ( string.IsNullOrWhiteSpace( Path.GetDirectoryName( imageFileName ) ) )
{
// no directory specified. It's in the App Directory
imageFileUri = new Uri( Path.Combine( appDirectory, imageFileName ) );
}
else if ( Path.GetDirectoryName( imageFileName ).Equals( appDirectory, StringComparison.OrdinalIgnoreCase ) )
{
// directory is App Directory, just put the filename without the directory
imageFileUri = new Uri( Path.GetFileName( imageFileName ) );
}
else
{
// directory is something besides the App Directory. Fully qualify it
imageFileUri = new Uri( imageFileName );
}
try
{
imgLogo.Source = new BitmapImage( imageFileUri );
imgLogo.Visibility = Visibility.Visible;
lblImageError.Visibility = Visibility.Collapsed;
}
catch ( Exception ex )
{
imgLogo.Visibility = Visibility.Collapsed;
lblImageError.Visibility = Visibility.Visible;
lblImageError.ToolTip = ex.Message;
MessageBox.Show( "Unable to load image: \n\n" + ex.Message, "Image Error", MessageBoxButton.OK, MessageBoxImage.Error );
}
}