使用WPF按钮(布尔和更改颜色)

时间:2017-12-01 03:54:34

标签: c# wpf

我是新来的,所以请帮助我

我要尝试解释我的问题,所以我正在使用WPF,我正在制作一种计算器,现在我有一个名为“log”的按钮。

所以我需要的是,只要我没有点击(激活)按钮,任何东西都不应该被覆盖到文本文档,但如果我点击它,按钮的颜色必须改变(如灰色)和它必须设置为true,从那一刻起,我用计算器进行的每个操作都必须覆盖到文本文件中。

有人可以帮助我

按钮Log的代码:

<Button Content="Log" Name="btnLog" HorizontalAlignment="Left" 
         Background="#1d1c1c" Foreground="Aqua" VerticalAlignment="Top" Width="75" 
         Margin="4,89,0,0" Height="27" FontWeight="Bold" FontSize="15" 
         Click="btnLog_Click"/>

1 个答案:

答案 0 :(得分:4)

您可能想要查看ToggleButton,它已经做了您想做的事。

以下是有关如何根据需要设置样式的示例,同时使用Checked事件代替Click事件来控制该控件。

    <ToggleButton Content="Log" 
                  Name="btnLog" 
                  HorizontalAlignment="Left" 
                  Foreground="Aqua" 
                  VerticalAlignment="Top" 
                  Width="75" 
                  Margin="4,89,0,0" 
                  Height="27" 
                  FontWeight="Bold" 
                  FontSize="15" 
                  Checked="btnLog_Checked">
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ToggleButton">
                            <Border BorderBrush="{TemplateBinding BorderBrush}" 
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{TemplateBinding Background}">
                                <ContentPresenter HorizontalAlignment="Center"
                                                  VerticalAlignment="Center"/>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Background" Value="Gray"/>
                    </Trigger>
                    <Trigger Property="IsChecked" Value="False">
                        <Setter Property="Background" Value="#1d1c1c"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>