win10类型按钮

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:Transfer4UI.ItemControl">
    <ControlTemplate x:Key="MinizeButonTemplate" TargetType="{x:Type local:EmbededButton}">
        <Border BorderThickness="1" Background="{TemplateBinding Background}" >
            <Grid x:Name="embedButtonGrid" ToolTip="{TemplateBinding ToolTip}" >
                <Rectangle Fill="White" Width="10" Height="3" SnapsToDevicePixels="True"></Rectangle>
            </Grid>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter TargetName="embedButtonGrid" Property="Background" Value="Black"/>
            </Trigger>
            <Trigger Property="IsPressed" Value="true">
                <Setter TargetName="embedButtonGrid" Property="Background" Value="white"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <ControlTemplate x:Key="ResizeWindowRadioButtonTemplate" TargetType="{x:Type local:EmbedCheckBox}">
        <Border Background="{TemplateBinding Background}" >
            <Grid x:Name="ResizeWinGrid" ToolTip="{TemplateBinding ToolTip}">
                <Canvas ClipToBounds="True">
                    <Border Canvas.Left="4" Canvas.Top="1" BorderBrush="White" BorderThickness="1" Width="8" Height="6" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"/>

                    <Border Canvas.Left="0" Canvas.Top="4" BorderBrush="White" BorderThickness="1" Width="8" Height="6" Background="{TemplateBinding Background}" SnapsToDevicePixels="True" />
                </Canvas>
            </Grid>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter TargetName="ResizeWinGrid" Property="Background" Value="Black"/>
            </Trigger>
            <Trigger Property="IsChecked" Value="true">
                <Setter TargetName="ResizeWinGrid" Property="Background" Value="white"/>
            </Trigger>
            <Trigger Property="IsChecked" Value="false">
                <Setter TargetName="ResizeWinGrid" Property="Background" Value="{Binding Path=Background, ElementName=ResizeWinGrid}"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style TargetType="{x:Type local:EmbededButton}" BasedOn="{x:Null}">
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="Template" Value="{StaticResource MinizeButonTemplate}" />
    </Style>

    <Style TargetType="{x:Type local:EmbedCheckBox}" BasedOn="{x:Null}">
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="Template" Value="{StaticResource ResizeWindowRadioButtonTemplate}" />
    </Style>


    <Style x:Key="ControlMinButton" TargetType="{x:Type local:EmbededButton}" BasedOn="{StaticResource {x:Type local:EmbededButton}}"/>

    <Style x:Key="WinResizeButton" TargetType="{x:Type local:EmbedCheckBox}" BasedOn="{StaticResource {x:Type local:EmbedCheckBox}}"/>

</ResourceDictionary>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;

namespace Transfer4UI.ItemControl
{
    public class EmbededButton:Button
    {
        static EmbededButton()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededButton), new FrameworkPropertyMetadata(typeof(EmbededButton)));
        }
    }

    public class EmbededRadioButton:RadioButton
    {
        static EmbededRadioButton()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededRadioButton), new FrameworkPropertyMetadata(typeof(EmbededRadioButton)));
        }
    }

    public class EmbedCheckBox:CheckBox
    {
        static EmbedCheckBox()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbedCheckBox), new FrameworkPropertyMetadata(typeof(EmbedCheckBox)));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值