|
|
|
@ -56,11 +56,11 @@ namespace Avalonia.Win32 |
|
|
|
frm.SetFileTypes((uint)filters.Count, filters.ToArray()); |
|
|
|
frm.SetFileTypeIndex(0); |
|
|
|
|
|
|
|
if (dialog.InitialDirectory != null) |
|
|
|
if (dialog.Directory != null) |
|
|
|
{ |
|
|
|
UnmanagedMethods.IShellItem directoryShellItem; |
|
|
|
Guid riid = UnmanagedMethods.ShellIds.IShellItem; |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.InitialDirectory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.Directory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
{ |
|
|
|
frm.SetFolder(directoryShellItem); |
|
|
|
frm.SetDefaultFolder(directoryShellItem); |
|
|
|
@ -114,21 +114,21 @@ namespace Avalonia.Win32 |
|
|
|
options |= (uint)(UnmanagedMethods.FOS.FOS_PICKFOLDERS | DefaultDialogOptions); |
|
|
|
frm.SetOptions(options); |
|
|
|
|
|
|
|
if (dialog.InitialDirectory != null) |
|
|
|
if (dialog.Directory != null) |
|
|
|
{ |
|
|
|
UnmanagedMethods.IShellItem directoryShellItem; |
|
|
|
Guid riid = UnmanagedMethods.ShellIds.IShellItem; |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.InitialDirectory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.Directory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
{ |
|
|
|
frm.SetFolder(directoryShellItem); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (dialog.DefaultDirectory != null) |
|
|
|
if (dialog.Directory != null) |
|
|
|
{ |
|
|
|
UnmanagedMethods.IShellItem directoryShellItem; |
|
|
|
Guid riid = UnmanagedMethods.ShellIds.IShellItem; |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.DefaultDirectory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
if (UnmanagedMethods.SHCreateItemFromParsingName(dialog.Directory, IntPtr.Zero, ref riid, out directoryShellItem) == (uint)UnmanagedMethods.HRESULT.S_OK) |
|
|
|
{ |
|
|
|
frm.SetDefaultFolder(directoryShellItem); |
|
|
|
} |
|
|
|
|