WPF如何获得最大化/最小化按钮图标-自定义标题栏

卡迪尔斯将军

我正在尝试为我的应用程序创建自定义标题栏。我不知道如何向按钮添加Windows最大化或最小化图标。我希望我的图标看起来与此类似

最大化/最小化示例

这是我的按钮的XAML

            <Button Command="{x:Static SystemCommands.MaximizeWindowCommand}" Content="+" Canvas.Left="1020" Height="30" Width="30">
            <Button.Style>
                <Style TargetType="{x:Type Button}">
                    <Setter Property="Background" Value="Black"/>
                    <Setter Property="TextBlock.Foreground" Value="White"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type Button}">
                                <Border Background="{TemplateBinding Background}">
                                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" Value="#403c47"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>
        <Button Command="{x:Static SystemCommands.MinimizeWindowCommand}" Content="" Canvas.Left="990" Height="30" Width="30" >
            <Button.Style>
                <Style TargetType="{x:Type Button}">
                    <Setter Property="Background" Value="Black"/>
                    <Setter Property="TextBlock.Foreground" Value="White"/>
                    <Setter Property="FontSize" Value="24"/>
                    <Setter Property="TextBlock.LineHeight" Value="5"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type Button}">
                                <Border Background="{TemplateBinding Background}">
                                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" Value="#403c47"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>

任何帮助,感激不尽:)

西尔米基

这是我使用过的一段代码。(在我的情况下是可重用的Window类扩展,太长了,无法完全发布)

XAML 2按钮最小化和最大化

<Grid Margin="1,0,1,0">
    <Button x:Name="Restore" Command="{Binding Source={x:Static SystemCommands.RestoreWindowCommand}}"  Visibility="Collapsed" Style="{StaticResource WindowButtonStyle}">
        <Grid Width="30" Height="25" UseLayoutRounding="True" RenderTransform="1,0,0,1,.5,.5">
            <Path Data="M2,0 L8,0 L8,6 M0,3 L6,3 M0,2 L6,2 L6,8 L0,8 Z" Width="8" Height="8" VerticalAlignment="Center" HorizontalAlignment="Center"
                Stroke="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}, Mode=FindAncestor}}" StrokeThickness="1"  />
        </Grid>
    </Button>
    <Button x:Name="Maximize" Command="{Binding Source={x:Static SystemCommands.MaximizeWindowCommand}}"  Style="{StaticResource WindowButtonStyle}">
        <Grid Width="31" Height="25">
            <Path Data="M0,1 L9,1 L9,8 L0,8 Z" Width="9" Height="8" VerticalAlignment="Center" HorizontalAlignment="Center"
                Stroke="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}, Mode=FindAncestor}}" StrokeThickness="2"  />
        </Grid>
    </Button>
</Grid>

当窗口最大化/最小化时触发以隐藏最小化/最大化按钮

<ControlTemplate.Triggers>
    <Trigger Property="WindowState" Value="Maximized">
        <Setter TargetName="Maximize" Property="Visibility" Value="Collapsed" />
        <Setter TargetName="Restore" Property="Visibility" Value="Visible" />
    </Trigger>
    <Trigger Property="WindowState" Value="Normal">
        <Setter TargetName="Maximize" Property="Visibility" Value="Visible" />
        <Setter TargetName="Restore" Property="Visibility" Value="Collapsed" />
    </Trigger>
    .....
</ControlTemplate.Triggers>

在此处输入图片说明

希望能适应您的需求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义图片作为标题栏中的图标

来自分类Dev

最大化时从顶部拖动自定义窗口标题栏不起作用

来自分类Dev

自定义最大化、最小化按钮

来自分类Dev

ionic:如何向标题栏添加自定义元素或如何为每个视图添加自己的标题栏?

来自分类Dev

如何在MATE中移动窗口标题栏图标以最大化,最小化和靠近左侧?

来自分类Dev

如何使标题栏,最小化按钮和最大化按钮在javascript中的网页上不可见?

来自分类Dev

如何更改多个活动的自定义窗口标题栏及其图标

来自分类Dev

如何更改多个活动的自定义窗口标题栏及其图标

来自分类Dev

向MetroWindow标题栏中的图标添加自定义样式

来自分类Dev

有没有办法禁用/阻止自定义标题栏按钮?

来自分类Dev

如何自定义电子应用程序的窗口标题栏?

来自分类Dev

如何在Android的自定义标题栏中添加菜单和设置选项?

来自分类Dev

如何在登录活动中自定义标题栏

来自分类Dev

如何使无边界表单在自定义标题栏上可拖动?

来自分类Dev

如何在Kivy中创建自定义标题栏?

来自分类Dev

在Ubuntu 18.04上,我可以隐藏标题栏并仍然看到关闭/最小化/最大化图标吗?

来自分类Dev

我可以隐藏Firefox标题栏并仍然看到关闭/最小化/最大化图标吗?

来自分类Dev

如何在左侧的寡妇标题栏中移动“应用程序菜单”,而将“最小化、最大化、关闭”按钮放置在右侧?

来自分类Dev

Swift / OS X-删除应用程序标题栏并添加自定义关闭按钮

来自分类Dev

使用 Prism 和自定义标题栏时如何在 MasterDetail 页面中显示菜单

来自分类Dev

如何在Windows窗体应用程序中设计自定义关闭,最小化和最大化按钮?

来自分类Dev

我能否在Windows的标题栏中获得始终位于最上方的按钮(以及最小/最大化/关闭按钮)?

来自分类Dev

我能否在Windows的标题栏中获得始终位于最上方的按钮(以及最小/最大化/关闭按钮)?

来自分类Dev

NSWindow的自定义标题栏

来自分类Dev

NSWindow标题栏自定义

来自分类Dev

JRibbon-如何将最小,最大化,关闭按钮和标题栏放置在JRibbon的顶部?

来自分类Dev

在自定义标题栏上设置标题文本

来自分类Dev

在我的自定义标题栏出现之前显示的默认标题栏

来自分类Dev

Android标题栏自定义视图不拉伸

Related 相关文章

  1. 1

    自定义图片作为标题栏中的图标

  2. 2

    最大化时从顶部拖动自定义窗口标题栏不起作用

  3. 3

    自定义最大化、最小化按钮

  4. 4

    ionic:如何向标题栏添加自定义元素或如何为每个视图添加自己的标题栏?

  5. 5

    如何在MATE中移动窗口标题栏图标以最大化,最小化和靠近左侧?

  6. 6

    如何使标题栏,最小化按钮和最大化按钮在javascript中的网页上不可见?

  7. 7

    如何更改多个活动的自定义窗口标题栏及其图标

  8. 8

    如何更改多个活动的自定义窗口标题栏及其图标

  9. 9

    向MetroWindow标题栏中的图标添加自定义样式

  10. 10

    有没有办法禁用/阻止自定义标题栏按钮?

  11. 11

    如何自定义电子应用程序的窗口标题栏?

  12. 12

    如何在Android的自定义标题栏中添加菜单和设置选项?

  13. 13

    如何在登录活动中自定义标题栏

  14. 14

    如何使无边界表单在自定义标题栏上可拖动?

  15. 15

    如何在Kivy中创建自定义标题栏?

  16. 16

    在Ubuntu 18.04上,我可以隐藏标题栏并仍然看到关闭/最小化/最大化图标吗?

  17. 17

    我可以隐藏Firefox标题栏并仍然看到关闭/最小化/最大化图标吗?

  18. 18

    如何在左侧的寡妇标题栏中移动“应用程序菜单”,而将“最小化、最大化、关闭”按钮放置在右侧?

  19. 19

    Swift / OS X-删除应用程序标题栏并添加自定义关闭按钮

  20. 20

    使用 Prism 和自定义标题栏时如何在 MasterDetail 页面中显示菜单

  21. 21

    如何在Windows窗体应用程序中设计自定义关闭,最小化和最大化按钮?

  22. 22

    我能否在Windows的标题栏中获得始终位于最上方的按钮(以及最小/最大化/关闭按钮)?

  23. 23

    我能否在Windows的标题栏中获得始终位于最上方的按钮(以及最小/最大化/关闭按钮)?

  24. 24

    NSWindow的自定义标题栏

  25. 25

    NSWindow标题栏自定义

  26. 26

    JRibbon-如何将最小,最大化,关闭按钮和标题栏放置在JRibbon的顶部?

  27. 27

    在自定义标题栏上设置标题文本

  28. 28

    在我的自定义标题栏出现之前显示的默认标题栏

  29. 29

    Android标题栏自定义视图不拉伸

热门标签

归档