2017-07-13 138 views
-1

我有一个带背景图像的按钮,我想为此按钮添加背景色时,我点击它 这是我如何设置图像背景按钮:WPF - 如何设置背景颜色图像按钮

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> 

This is how I want it to look like when I click on it

+0

如若背景仅当用户点击了'Button'还是应更长的时刻? –

+0

[C#更改按钮的背景颜色]的可能重复(https://stackoverflow.com/questions/4991041/c-sharp-change-a-buttons-background-color) –

+0

@MightyBadaboom直到我点击另一个按钮 – TestMan

回答

2

例如,你可以使它成为一个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> 
+0

感谢您的回答!但是,当我尝试使其成为ToggleButton时,出现此错误:成员“IsChecked”未被识别或无法访问。 – TestMan

+0

对不起,您还需要设置ControlTemplate的TargetType属性。我编辑了我的答案。 – mm8

+0

好吧,现在可以使用!这是我正在寻找的答案。再次感谢! – TestMan