Скрыть панель инструментов WPF DocumentViewer программно - PullRequest
1 голос
/ 30 августа 2011

Этот вопрос имеет решение: Как скрыть строки меню WPF DocumentViewer?

Однако он позволяет скрывать панель инструментов только через XAML. Мне нужно сделать это программно.

Этот ответ: WPF: как удалить окно поиска в DocumentViewer? программно скрывает панель поиска.

Как скрыть основную панель инструментов через не-xaml код?

1 Ответ

4 голосов
/ 30 августа 2011

В DocumentViewer нет ничего, что гарантировало бы, что панель инструментов была даже там, в этом случае программные манипуляции с элементом управления во время выполнения для удаления панели инструментов, которая может существовать или не существовать, могут быть не такими хорошими идея. Конечно, вы можете выполнить некоторую проверку на нуль и обработку исключений, но это тоже не очень чисто.

Для шаблона Aero по умолчанию следующий код выбьет панель инструментов:

var contentHost = viewer.Template.FindName("PART_ContentHost", viewer) as ScrollViewer;
var grid = contentHost.Parent as Grid;
grid.Children.RemoveAt(0);

Я удаленно удаляю панель инструментов, поскольку она не PART, поэтому она может отсутствовать в некоторых темах.

В идеале вы должны полностью переопределить шаблон.

...