我有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