Привыкай к этому, потому что это то, что нужно.OpenFileDialog не написан в WPF, диалог существует как неуправляемый код в Windows.Управляемая оболочка использует GetOpenFileName () в старых версиях, а COM-интерфейс IFileOpenDialog - в текущих.Для последнего интерфейс IFileDialogCustomize был разработан для настройки диалога.
Эти интерфейсы просты в использовании только из программы на C ++, классического бича программирования оболочки.Необходимость поддерживать машины с XP также является значительной головной болью, реально вы застряли в унаследованном диалоге через GetOpenFileName ().Что и делает этот кодовый проект.