Я показываю WorkflowElementDialog из моего приложения, это диалоговое окно имеет знак вопроса рядом с кнопкой закрытия. есть ли способ удалить его?
Боюсь, что нет встроенного способа удалить знак вопроса из области заголовка; это на самом деле называется кнопкой контекстной помощи. Когда вы вызываете Show
или создается экземпляр, он создает новый экземпляр WorkflowElementDialogWindow
. В этом классе есть подпрограмма с именем OnInitialized
, которая устанавливает некоторые свойства, а также вызывает базовый класс, из которого он получен, с именем DialogWindow
а затем звонит OnSourceInitialized()
. В этой подпрограмме создается фактическая контекстная кнопка, вот как она выглядит.
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
this.HideMinMaxButton();
this.ShowContextHelpButton(); // Here's the culprit.
this.HideIcon();
this.AddWindowsHook(new HwndSourceHook(DialogWindow.OnHookedWindowMessage));
base.get_CommandBindings().Add(new CommandBinding(ApplicationCommands.get_Help(), new ExecutedRoutedEventHandler(this.OnHelpExecuted)));
base.Closing += new CancelEventHandler(this.OnWindowClosing);
}
Один из вариантов - воссоздать классы, после чего вы можете пропустить подпрограмму ShowContextHelpButton
; но это потребует небольшой работы и некоторого просмотра исходного кода.
Ссылки:
WorkflowElementDialog Источник