我通过后面的代码在画布上创建一些边框对象。我没有这些边框的任何XAML。默认情况下它们的不透明度设置为0.5,我想在鼠标输入时将它们的不透明度更改为1。这是我必须尝试的代码,让鼠标为它们输入事件。但它不起作用。我想我必须将发送者对象强制转换为边框是正确的吗?
br.MouseEnter += new MouseEventHandler(br_MouseEnter);
void br_MouseEnter(object sender, MouseEventArgs e)
{
sender.Opacity = 1.0;
}
答案 0 :(得分:2)
你想要这样做: -
void br_MouseEnter(object sender, MouseEventArgs e)
{
((UIElement)sender).Opacity = 1.0;
}
void br_MouseLeave(object sender, MouseEventArgs e)
{
((UIElement)sender).Opacity = 0.5;
}
您可以将这些事件处理程序附加到多个边框。
虽然您也可以考虑创建模板化控件并使用VisualStateManager
答案 1 :(得分:0)
你为什么不这样做?
br.Opacity = 1.0;