|
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="OpenFileService.cs" company="Catel development team">
// Copyright (c) 2008 - 2011 Catel development team. All rights reserved.
// </copyright>
// <summary>
// Service to open files.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
using System.Windows.Controls;
namespace Catel.MVVM.Services
{
/// <summary>
/// Service to open files.
/// </summary>
[CoverageExclude(ExcludeReason.ContainsCodeWhichCannotBeSubstitutedInTest)]
public class OpenFileService : ViewModelServiceBase, IOpenFileService
{
#region IFileSupport Members
/// <summary>
/// Gets or sets the name of the file.
/// </summary>
/// <value>The name of the file.</value>
public string FileName { get; set; }
/// <summary>
/// Gets or sets the filter to use when opening or saving the file.
/// </summary>
/// <value>The filter.</value>
public string Filter { get; set; }
/// <summary>
/// Gets or sets the initial directory.
/// </summary>
/// <value>The initial directory.</value>
public string InitialDirectory { get; set; }
/// <summary>
/// Determines the filename of the file what will be used.
/// </summary>
/// <returns><c>true</c> if a file is selected; otherwise <c>false</c>.</returns>
/// <remarks>
/// If this method returns <c>true</c>, the <see cref="FileName"/> property will be filled with the filename. Otherwise,
/// no changes will occur to the data of this object.
/// </remarks>
public bool DetermineFile()
{
// Declare open file
var fileDialog = new OpenFileDialog();
fileDialog.Multiselect = false;
fileDialog.Filter = Filter;
// Show dialog
bool result = fileDialog.ShowDialog() ?? false;
// Store values if succeeded
if (result)
{
FileName = fileDialog.File.FullName;
}
// Return result
return result;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.