Я хочу использовать EventHandler
MouseEnter & MouseLeave, чтобы изменить OpasityMask
изображений, эти изображения будут генерироваться во время выполнения, на разных страницах. Дело в том, что мне нужно иметь доступ к отправителю, чтобы изменить свойство OpacityMask
для MouseHover
команды класса ViewModel .
View
this.WendActivated(d =>
{
d(this.BindCommand(ViewModel,
vm => vm.MouseHover,
v => v.myImage,
myImage.Events().MouseEnter));
});
ViewModel
private void Image_MouseEnterExecute(object sender, MouseEventArgs e)
{
PlaySound("mouse_hover.mp3");
var image = sender as Image;
image.OpacityMask = new SolidColorBrush { Opacity = 1, Color = Colors.Black };
}
Я не знаю, как реализовать Событие, чтобы изменить OpacityMask
public ReactiveCommand MouseHover => image_MouseEnter;
public ObservedChange<object, object> ImageBrush => imageBrush;
public ViewModel()
{
//Can not convert method group to action.
image_MouseEnter = ReactiveCommand.Create(Image_MouseEnterExecute);
//Can not convert method group to action.
imageBrush = ReactiveCommand.Create(Image_MouseEnterExecute);
}
Почему я не устанавливаю привязку к свойству OpacityMask
Проблема в том, что у меня много изображений, некоторые из которых создаются во время выполнения. Я не хочу, чтобы все изображения изменялись одновременно или чтобы было создано свойство OpacityMask
для каждого изображения.
Я надеюсь, что кто-то с опытом может мне помочь.