WPF 使用Lable控件实现Button效果

WPF 使用Lable控件实现Button效果

这里用lable控件实现了三个按钮,最小化,最大化,关闭;如下图:
在这里插入图片描述
lable新样式代码如下:

 <Window.Resources>
        <Style x:Key="myLable" TargetType="Label">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="true">
                    <Setter Property="FontSize" Value="22"></Setter>
                    <Setter Property="Foreground" Value="Red"></Setter>
                    <Setter Property="Background" Value="#C5C5C6"></Setter>
                </Trigger>
                <Trigger Property="IsMouseOver" Value="false">
                    <Setter Property="FontSize" Value="16"></Setter>
                    <Setter Property="Foreground" Value="Green"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>

XAML代码如下:

<StackPanel Margin="20" Orientation="Horizontal">
            <Label Content="─" Width="40" Height="40" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Style="{StaticResource myLable}" Name="lb_MiniSize" MouseUp="Lb_MiniSize_MouseUp"></Label>
            <Label Content="☐" Width="40" Height="40" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Style="{StaticResource myLable}" Name="lb_MaxSize" MouseUp="Lb_MaxSize_MouseUp"></Label>
            <Label Content="✕" Width="40" Height="40" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Style="{StaticResource myLable}" Name="lb_Close" MouseUp="Lb_Close_MouseUp"></Label>
        </StackPanel>

窗体后台代码:

private void Lb_Close_MouseUp(object sender, MouseButtonEventArgs e)
        {
            this.Close();
        }

        private void Lb_MiniSize_MouseUp(object sender, MouseButtonEventArgs e)
        {
            this.WindowState = WindowState.Minimized;
        }

        private void Lb_MaxSize_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if(this.WindowState == WindowState.Normal)
                this.WindowState = WindowState.Maximized;
            else
                this.WindowState = WindowState.Normal;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值