para Por qué en XP el archivo de diálogo cambia el directorio actual, es mejor preguntarle a MS. de todos modos, el diálogo de archivo abierto en XP tiene este extraño comportamiento, pero en w7 o superior no. por lo que puede simplemente configurar el directorio actual después de guardar la ruta seleccionada desde SaveFileDialog hasta que cambie el directorio actual.
fijo mi método en el que se puede ver que el camino chosed se guarda en los ajustes y recuperar el directorio actual
private void ShowSaveFileDialog(object sender, RoutedEventArgs e)
{
private const int xpVerMajorNumber = 5;
var saveFileDialog = new SaveFileDialog()
{
FileName = Settings.Default.ExcelFileName,
DefaultExt = "*.xlsx",
Filter = "Excel Workbook (.xlsx)|*.xlsx"
};
if (saveFileDialog.ShowDialog(this) == true)
Settings.Default.ExcelFileName = saveFileDialog.FileName;
if (Environment.OSVersion.Version.Major <= xpVerMajorNumber)
{
Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
}
}
je, no es tan fácil. Solo uso get/set cuando lo necesito. Uso MSVS para establecer el directorio de trabajo, por lo que no hay forma posible de que detecte dónde debería estar (a menos que lo codifique en el exe) –