уровень непрозрачности изображения до 100% - PullRequest
1 голос
/ 12 ноября 2011

У меня есть изображение, которое я использую в качестве кнопки, но при вводе мышью я хочу, чтобы непрозрачность была 100%, что на данный момент составляет всего 80%.Как мне это сделать?

вот мое событие ввода мыши

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


        }

Я использую Blend, Silverlight 4 спасибо

Ответы [ 2 ]

2 голосов
/ 12 ноября 2011

Вы также можете сделать все это в XAML.Для этого требуется Blend SDK для 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>
2 голосов
/ 12 ноября 2011

при условии, что ваше событие "попало" ...

private void playButton_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
   if ( sender is Button )
      ((Button)sender).Opacity = 1;
}

при этом вы должны также отреагировать на событие отсутствия мыши и установить непрозрачность обратно .8

вы также можете использовать визуальный менеджер состояний. вот хороший пример на MSDN

...