WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。相关的知识,希望对你有一定的参考价值。

原文:WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/88064191

效果:

技术图片

1、安装:下载地址可网上找,也可从最后的地址

技术图片

2、增加引用

技术图片

3、增加命名空间

? ? ? ? xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell"

4、前台

   <Window.Template>
        <ControlTemplate TargetType="{x:Type Window}">
            <Border BorderThickness="1">
                <DockPanel>
                    <Grid x:Name="WindowHeader"
                          DockPanel.Dock="Top"
                          Height="25">
                        <TextBlock Text="{TemplateBinding Title}"
                                   Margin=" 25 0 0 0"
                                   VerticalAlignment="Center" />
                    </Grid>
                    <ContentPresenter Margin="10 0 10 10" />
                </DockPanel >
            </Border >
            <ControlTemplate.Triggers>
                <Trigger Property="WindowState"
                         Value="Maximized">
                    <Setter TargetName="WindowHeader"
                            Property="Margin"
                            Value="6" />
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Window.Template>

    <shell:WindowChrome.WindowChrome>
        <shell:WindowChrome  GlassFrameThickness="-1"
                            ResizeBorderThickness="10"
                            CaptionHeight="30"
                            NonClientFrameEdges="Left,Bottom,Right"
                            CornerRadius="5" />
    </shell:WindowChrome.WindowChrome>

    <Grid>
        <Button VerticalAlignment="Stretch"
                HorizontalAlignment="Stretch"
                Content=" 按钮" />
    </Grid>

?

资源下载:

https://download.csdn.net/download/qq_43307934/10988890

参考地址:

[WPF]使用WindowChrome自定义Window Style

https://www.cnblogs.com/dino623/p/CustomWindowStyle.html

WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式

https://blog.csdn.net/WPwalter/article/details/81121829

WPF中Ribbon控件的使用 - Yang-Fei - 博客园

http://www.cnblogs.com/yang-fei/p/6021300.html

WPF 创建自定义窗体 - Yang-Fei - 博客园

http://www.cnblogs.com/yang-fei/p/4737308.html

Ribbon For WPF的使用 - Arthars - 博客园
http://www.cnblogs.com/Angle-Louis/archive/2012/12/11/2805738.html


以上是关于WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。的主要内容,如果未能解决你的问题,请参考以下文章

WPF中使用WindowChrome自定义窗口中遇到的最大化问题

WPF中自定义标题栏时窗体最大化处理之WindowChrome

C# WPF通过WindowChrome自定义窗体

[WPF自定义控件]?Window(窗体)的UI元素及行为

WPF - 自定义标题栏 - 最新解决方案

WPF WindowChrome WindowsFormsHost:不透明度