Я ищу способ в WPF по сути «заблокировать» пользовательский интерфейс с точки зрения пользователя: невозможно взаимодействовать, фактически не вызывая условия блокировки, и интуитивно отображать, что он заблокирован.
Наша внутренняя веб-платформа выполняет именно то, что я хотел бы сделать. Если у вас есть подручный (или аналогичный) под рукой, вы можете сами увидеть, о чем я говорю:
1) перейти к http://www.livetechnology.com/
2) открыть консоль firebug
3) введите LT.LiveUI.Util.lockUI (LO.MainSkin.MainArea, {Сообщение: «Необязательный текст»}); в консоль
Вы должны увидеть, как пользовательский интерфейс "заблокирован" так, как я хотел бы достичь. Пользователь не может взаимодействовать с интерфейсом, и отображается сообщение, в дополнение к тому, что пользователь довольно неявно осознает, что интерфейс не может быть использован.
Это похоже на то, как Lightbox будет перекрывать интерфейс и отображать содержимое.
Мое приложение выполняет некоторую работу по сети, что займет некоторое время, и вместо того, чтобы использовать простой модальный режим или отключать каждый элемент в моем пользовательском интерфейсе и делать его глупым (помимо непригодного для использования), я хотел бы использовать это эффект.
Прозрачное, затененное наложение было бы хорошим прикосновением (по моему мнению). Я (конечно) знаю, что я могу сделать это без затененного наложения модальным диалоговым окном, но затем пользователю часто оставляют щелкать пользовательский интерфейс, который там есть, но ничего не делает.