我有Windows XP之前,並設置WPF按鈕背景總是工作,但自從Windows 7的背景總是設置爲藍色。我怎麼能解決這個問題?在Windows 7中的WPF按鈕背景
1
A
回答
2
您可能需要爲按鈕製作自己的模板。 (我想這只是你正在努力的懸停顏色,而不是基本顏色,它遵循背景屬性)。
這是一個非常簡單的按鈕模板,它可以幫助您開始。 BackBrush和ForeBrush將需要設置以適應。 (和他們的應用程序的其餘部分的後退和前,所以他們向後看在這個例子中)
<Style TargetType="{x:Type Button}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="ClickMode" Value="Press"/>
<Setter Property="TextBlock.TextWrapping" Value="Wrap"/>
<Setter Property="BorderBrush" Value="#e9dbae" />
<Setter Property="Foreground" Value="{StaticResource BackBrush}" />
<Setter Property="Background" Value="{StaticResource ForeBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<Border
x:Name="Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="2"
CornerRadius="2"
SnapsToDevicePixels="False"
RenderTransformOrigin="0.5,0.5"
TextBlock.Foreground="{TemplateBinding Foreground}" >
<ContentPresenter
Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.975" ScaleY="0.975" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#999999"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
1
對於有背景播放添加到Window.Resources(或任何其他應用程序資源字典)這種風格:
<Style TargetType="Button">
<Setter Property="Background" Value="Black"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Moccasin"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
如果您不需要重新定義按鈕模板(按鈕的幾何外觀),則此方法有效。這裏我們沒有指定Style x:Key
,那麼這個樣式將被應用於指定資源範圍內的所有按鈕。指定使用不同的外觀風格,你應該每個樣式標記與x:Key="StyleName"
然後在按鈕定義樣式Style="{DynamicResource StyleName}"
或Style="{DynamicResource StyleName}"
相關問題
- 1. WPF按鈕背景問題
- 2. wpf按鈕背景圖片
- 3. wpf按鈕背景變化
- 4. 無法綁定背景按鈕,在Windows Phone 7的
- 5. 按鈕在Windows 7上有黑色背景
- 6. Windows Phone 7(WP7)點擊更改按鈕的背景顏色
- 7. IOS 7按鈕背景不起作用
- 8. 如何在Windows Phone 7中使用WPF創建背景動畫?
- 9. 點擊時WPF按鈕更改背景
- 10. wpf按鈕背景懸停顏色
- 11. 背景不改變按鈕C#WPF
- 12. WPF按鈕無邊框無背景
- 13. 如何更改按鈕和背景之間的按鈕背景?
- 14. WPF:如何使按鈕背景透明
- 15. WPF按鈕與外部背景圖像
- 16. 在windows phone 7中按下時如何設置stackpanel的背景?
- 17. 按鈕的背景
- 18. Android中按鈕的背景?
- 19. Windows Phone 7查詢背景
- 20. 背景圖像Windows Phone 7
- 21. 在wpf中更改按鈕模板的背景顏色
- 22. 在運行時設置WPF中按鈕的背景顏色
- 23. 在WPF中的EventTrigger上更改按鈕背景顏色
- 24. 在Aero上重寫WPF中的按鈕背景
- 25. 如何在WPF中設置按鈕的背景顏色
- 26. 把另一個按鈕的背景上的按鈕背景Xamarin
- 27. WINAPI按鈕背景
- 28. 'Unset'按鈕背景
- 29. 帶前景和背景的wpf按鈕作爲圖像
- 30. 圖像在背景按鈕
屬性「OverridesDefaultStyle」幫部分,現在我只用ismouseover問題。背景變化一秒鐘然後變回藍色。 – Sys 2010-07-28 13:06:21