1
我做一個WPF程序,我做了一個自定義樣式按鈕按鈕:WPF後點擊行爲
<Style x:Key="ButtonMio" TargetType="{x:Type Button}">
<Setter Property="Padding" Value="1"/>
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="border" Background="{TemplateBinding Background}">
<ContentPresenter Name="content" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF3EC8C6" />
<Setter Property="Foreground" Value="Transparent"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
好了,按鈕公頃圖像內容(因此它比真正的按鈕較小)。由於背景是透明的,我用鼠標在觸發器上寫了這個:
<Setter Property="Background" Value="#FF3EC8C6" />
它可以工作。但只在點擊之前。點擊後不再有背景。即使點擊其他按鈕,並使第一個失去焦點(我認爲)背景仍然不會出現。 我試圖改變「IsPressed」和「IsFocused」,但在第一種情況下,背景並沒有消失,第二,沒有什麼好處,我不使用標籤來聚焦元素。
真的很抱歉我的英語。希望一切都清楚。謝謝!
它的工作!非常感謝! – Raikoug