【发布时间】:2010-10-13 13:38:04
【问题描述】:
我有一个用 C# 编写的 WPF 应用程序。
我做了一个按钮。我改变了背景颜色。
当鼠标悬停在按钮上时,如何更改蓝色?以及如何控制动画/改变时间?
【问题讨论】:
标签: c# .net wpf colors wpf-controls
我有一个用 C# 编写的 WPF 应用程序。
我做了一个按钮。我改变了背景颜色。
当鼠标悬停在按钮上时,如何更改蓝色?以及如何控制动画/改变时间?
【问题讨论】:
标签: c# .net wpf colors wpf-controls
http://msdn.microsoft.com/en-us/magazine/cc163421.aspx
您需要考虑为您的按钮创建一个“样式”。这将在 XAML 中完成,您会发现 Microsoft Expression Blend 确实简化了 WPF 项目大部分方面的设计。
【讨论】:
<Style x:Key="StyleButton" TargetType="{x:Type Button}">
<Setter Property="FontFamily" Value="Tahoma"></Setter>
<Setter Property="Height" Value="50"></Setter>
<Setter Property="Width" Value="100"></Setter>
<Setter Property="Foreground" Value="Blue"></Setter>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0" Color="White"></GradientStop>
<GradientStop Offset="1" Color="Lime"></GradientStop>
<GradientStop Offset="2" Color="Yellow"></GradientStop>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsFocused" Value="True"/>
<Condition Property="IsMouseOver" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="Yellow"/>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="blue" Offset="0"/>
<GradientStop Color="#CC00FF" Offset="1"/>
<GradientStop Color="#FF00CC" Offset="2"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</MultiTrigger>
</Style.Triggers>
</Style>
【讨论】: