2017-07-13 141 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