Я хотел бы отключить данную кнопку.
Мой код:
<DocumentViewer x:Name = "viewerDocument"
Document = "{Binding GeneratedDocument}" />
и превью выглядит следующим образом






Вам придется переопределить шаблон по умолчанию (Пример DocumentViewer ControlTemplate) или подкласс DocumentViewer, чтобы переопределить метод DocumentViewerBase.OnPrintCommand и вызвать метод DocumentViewerBase.CancelPrint из переопределения.
Вы также можете найти кнопку печати в визуальном дереве и установить UIElement.IsEnabled на false.
В следующем примере показано, как заставить кнопку печати отключить ее:
MainWindow.xaml
<DocumentViewer Loaded = "OnDocumentViewerLoaded" />
MainWindow.xaml.cs
private void OnDocumentViewerLoaded(object sender, RoutedEventArgs e)
{
var documentViewer = (DocumentViewer)sender;
Button printButton = EnumerateVisualChildElements<Button>(documentViewer)
.First(button => button.Command == ApplicationCommands.Print);
// Disable the print button
printButton.IsEnabled = false;
}
private static IEnumerable<TChildren> EnumerateVisualChildElements<TChildren>(DependencyObject parent) where TChildren : DependencyObject
{
for (int childIndex = 0; childIndex < VisualTreeHelper.GetChildrenCount(parent); childIndex++)
{
DependencyObject childElement = VisualTreeHelper.GetChild(parent, childIndex);
if (childElement is Popup popup)
{
childElement = popup.Child;
}
if (childElement is TChildren child)
{
yield return child;
}
foreach (TChildren item in EnumerateVisualChildElements<TChildren>(childElement))
{
yield return item;
}
}
}