【问题标题】:WPF - How to set background color to image buttonWPF - 如何为图像按钮设置背景颜色
【发布时间】:2017-12-18 03:46:37
【问题描述】:

我有一个带有背景图片的按钮,我想在单击该按钮时为其添加背景颜色。

这就是我将图像背景设置为按钮的方式:

XAML:

<Button x:Name="ScannerButton" DockPanel.Dock="Right" Visibility="Collapsed" Click="ScannerButton_Click" Margin="0,0,5,25" Height="70" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="75">
    <Button.Template>
        <ControlTemplate>
            <Image Source="/Resources/scanner.png"></Image>
        </ControlTemplate>
    </Button.Template>
</Button>

这是我希望点击它时的样子:

【问题讨论】:

  • 背景应该只在用户点击Button的那一刻,还是应该更长?
  • @MightyBadaboom 直到我点击另一个按钮
  • @SamvelPetrosov 重复??你在跟我开玩笑吗!请仔细阅读我的问题!
  • @TestMan 和?您需要将背景更改为另一种颜色。链接问题的答案提供了如何在Button 上点击WPFWinForm !!!

标签: c# wpf background-image background-color


【解决方案1】:

例如,您可以将其设为ToggleButton 并添加一个触发器,当IsChecked 属性设置为true 时更改背景:

<ToggleButton x:Name="ScannerButton" DockPanel.Dock="Right" Visibility="Collapsed" Click="ScannerButton_Click" Margin="0,0,5,25" Height="70" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="75">
    <ToggleButton.Template>
        <ControlTemplate TargetType="ToggleButton">
            <Grid x:Name="grid">
                <Image Source="/Resources/scanner.png"></Image>
            </Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter TargetName="grid" Property="Background" Value="Green" />
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </ToggleButton.Template>
</ToggleButton>

【讨论】:

  • 感谢您的回答!但是当我尝试将其设为 ToggleButton 时出现此错误:无法识别或无法访问成员“IsChecked”。
  • 对不起,您还需要设置 ControlTemplate 的 TargetType 属性。我编辑了我的答案。
  • 好的,现在可以了!这就是我一直在寻找的答案。再次感谢!
  • 不客气。请记得投票给有用的答案 :) stackoverflow.com/help/privileges/vote-up
猜你喜欢
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
相关资源
最近更新 更多