0
基本上這是一個存在於矩形和幾個文本塊之外的按鈕。矩形Fill
代表我的按鈕的背景。如何在按下按鈕時更改此設置?選擇按下按鈕時更改矩形背景
按下按鈕後,背景也必須保持這種顏色。這基本上顯示了用戶在視覺上按下了什麼按鈕,什麼不按鈕。我的風格的
部分:
<Style x:Key="ButtonStyleReg" TargetType="{x:Type myClasses:RegButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="regButton">
<Rectangle Name="rectangleBtn" Fill="#FF89959A" Height="Auto" RadiusY="15" RadiusX="15" Stroke="White" Width="Auto"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True"/>
<Trigger Property="IsDefaulted" Value="True"/>
<Trigger Property="IsPressed" Value="True" >
<Setter TargetName="rectangleBtn" Property="Fill" Value="Blue" />
</Trigger>
<Trigger Property="IsEnabled" Value="False"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="FontSize" Value="10.667"/>
我試過這個(編輯我的文章)它確實改變了,但我如何保持填充顏色?似乎我不需要「isPressed」觸發器。 – PeterP
爲此,您必須在'IsChecked'屬性上使用'ToggleButton'並設置一個觸發器。 'ToggleButton'記得它的狀態。一般來說,觸發器會在依賴項屬性發生變化時查找它的值。當您按下按鈕時Button.IsPressed會改變一次,當您釋放它時會再次改變。 'ToggleButton.IsChecked'是一個設置和保存的狀態。 –
你能說明一下嗎?在歡呼聲之前從未聽說過。我的按鈕本質上已經是repeatButton(用於我的程序功能)。所以我認爲我不能只是改變我的按鈕? – PeterP