如何收起WPF DocumentViewer控制工具栏中的CopyButton?

时间:2019-03-11 10:00:33

标签: wpf documentviewer

我想收起WPF Documentviewer控件工具栏中的“复制”按钮。 我在样式中添加了一个触发器,以设置“塌陷”的可见性。但这没有用。有什么想法吗?

 <DocumentViewer Grid.Row="1" Margin="0,0,40,0" Name="documentViewer" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
            <DocumentViewer.Resources>
                <Style TargetType="ContentControl">
                    <Style.Triggers>
                        <Trigger Property="Name" Value="PART_FindToolBarHost">
                            <Setter Property="Visibility" Value="Collapsed" />
                        </Trigger>
                        <Trigger Property="Name" Value="CopyButton">
                            <Setter Property="Visibility" Value="Collapsed" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </DocumentViewer.Resources>
        </DocumentViewer>

1 个答案:

答案 0 :(得分:0)

据我所知,不更改整个控件的样式就无法折叠复制按钮... 因此,这是一种适合您的样式(警告许多代码不见了)

(来源= https://docs.microsoft.com/de-de/dotnet/framework/wpf/controls/documentviewer-styles-and-templates):

       <DocumentViewer Grid.Row="1" Margin="0,0,40,0" Name="documentViewer" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <DocumentViewer.Style>
                <Style TargetType="{x:Type DocumentViewer}">
                    <Setter Property="Foreground"
      Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
                    <Setter Property="Background"
      Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
                    <Setter Property="FocusVisualStyle"
      Value="{x:Null}" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type DocumentViewer}">
                                <Border BorderThickness="{TemplateBinding BorderThickness}"
            BorderBrush="{TemplateBinding BorderBrush}"
            Focusable="False">
                                    <Grid KeyboardNavigation.TabNavigation="Local">

                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto" />
                                            <RowDefinition Height="*" />
                                            <RowDefinition Height="Auto" />
                                        </Grid.RowDefinitions>
                                        <ToolBar ToolBarTray.IsLocked="True"
                 KeyboardNavigation.TabNavigation="Continue">
                                            <Button Command="ApplicationCommands.Print"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  Content="Print" />

                                            <Separator />
                                            <Button Command="NavigationCommands.IncreaseZoom"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  Content="Zoom In" />
                                            <Button Command="NavigationCommands.DecreaseZoom"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  Content="Zoom Out" />
                                            <Separator />
                                            <Button Command="NavigationCommands.Zoom"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  CommandParameter="100.0"
                  Content="Actual Size" />
                                            <Button Command="DocumentViewer.FitToWidthCommand"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  Content="Fit to Width" />
                                            <Button Command="DocumentViewer.FitToMaxPagesAcrossCommand"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  CommandParameter="1"
                  Content="Whole Page" />
                                            <Button Command="DocumentViewer.FitToMaxPagesAcrossCommand"
                  CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                  CommandParameter="2"
                  Content="Two Pages" />
                                        </ToolBar>

                                        <ScrollViewer Grid.Row="1"
                      CanContentScroll="true"
                      HorizontalScrollBarVisibility="Auto"
                      x:Name="PART_ContentHost"
                      IsTabStop="true">
                                        </ScrollViewer>

                                        <ContentControl Grid.Row="2"
                        x:Name="PART_FindToolBarHost"/>
                                    </Grid>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </DocumentViewer.Style>
        </DocumentViewer>

结果:

enter image description here

当然,您必须对其进行修改以满足您的需求。

如果您不想使用基于样式的解决方案,请查看以下链接: WPF: How can I remove the searchbox in a DocumentViewer?