我有一个我用作按钮的图像,但在鼠标输入中我希望不透明度为100%,此时仅为80%。我该怎么做?
这是我的鼠标输入事件
private void playButton_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
double x;
}
我正在使用混合,silverlight 4 感谢
答案 0 :(得分:2)
假设您的活动被“击中”......
private void playButton_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
if ( sender is Button )
((Button)sender).Opacity = 1;
}
说,你还应该响应鼠标输出事件并将不透明度设置回.8
您也可以使用可视状态管理器来执行此操作。 here is a nice example on MSDN
答案 1 :(得分:2)
您也可以在XAML中完成所有操作。这需要Blend SDK for Silverlight 4(实际上不需要Blend,所以如果你没有或使用Expression Blend,不要误导)。假设你开始使用类似的东西:
<UserControl x:Class="SilverlightApplication2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<Image Source="Penguins.jpg" Opacity="0.8"/>
</Grid>
</UserControl>
您可以将其转换为以下内容:
<UserControl x:Class="SilverlightApplication2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"
mc:Ignorable="d">
<Grid>
<Image Source="Penguins.jpg" Opacity="0.8">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<ei:ChangePropertyAction PropertyName="Opacity" Value="1.0"/>
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeave">
<ei:ChangePropertyAction PropertyName="Opacity" Value="0.8"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</Grid>
</UserControl>