图像不透明度达到100%

时间:2011-11-11 23:17:15

标签: c#-4.0 silverlight-4.0 expression-blend blend

我有一个我用作按钮的图像,但在鼠标输入中我希望不透明度为100%,此时仅为80%。我该怎么做?

这是我的鼠标输入事件

private void playButton_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
        {
            double x;


        }

我正在使用混合,silverlight 4 感谢

2 个答案:

答案 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>