Я хочу настроить Vista-like OpenFileDialog
с помощью настраиваемых элементов управления WinForms и WPF. Я знаю, что вы можете шаблон XP-like OpenFileDialog, но это выглядит довольно уродливо и не удовлетворяет моим требованиям. Я знаю, что вы можете настроить OpenFileDialog
с помощью диалогов Ookii или из Microsoft Code Code Pack. Проблема с этим подходом заключается в том, что они не позволяют настраивать элементы управления, только ограниченное подмножество элементов управления (Label
, TextBox
и т.д.).
Ближайшим, что я получил, является изображение ниже. Используя комбинацию API Code Pack, некоторые изменения в Shell, взломать задание добавления пустых меток для интервала, с кучей уродливого COM, чтобы нарисовать элемент управления непосредственно на OpenFileDialog, я смог приблизиться.
Проблема с этим подходом заключается в том, что мне нужно отключить повторную калибровку в WndProc, потому что в разделе управления в CommonOpenFileDialog
есть макет потока/переноса, и вы не можете динамически добавлять/удалять элементы управления при изменении размера или вы получаете катастрофический отказ, если OpenFileDialog уже был показан.
Есть ли какие-либо предложения, помимо того, что я пробовал, или какие-либо сторонние продукты, которые работают в качестве стандартного Vista-OpenFileDialog, но позволяют вставлять пользовательские элементы управления?
[
Я также попробовал перебросить свой собственный, используя ExplorerBrowser из Code Code Pack (как показано на рисунке ниже), но, несмотря на расчесывание COM-интерфейса, не существует способа определить фильтры в ExplorerBrowser.
[