WPF 让所有Button的MouseEnter事件和MouseLeave事件都分别指向同一个函数,可不可以写成自定义控件?
Button比较多,怎么让新添加的Button都自动具有这两个属性?写成自定义空间吗?怎么写?...
Button比较多,怎么让新添加的Button都自动具有这两个属性?写成自定义空间吗? 怎么写?
展开
2个回答
展开全部
可以直接指定样式,比较简单,在样式中定义Button的MouseEnter和MouseLeave事件,如果所有的按钮都是这样的话,直接定义成一个样式就可以,如果有区别,可以指定样式的x:key,然后要套用此样式的按钮指向它就可以了:
<!--第一种,套用到所有按钮-->
<Style TargetType="{x:Type Button}">你要定义的样式和触发器</Style>
<!--第二种,定义一个x:key-->
<Style x:key="CustomButton" Target="{x:Type Button}">你要定义的样式和触发器</Style>
在按钮上套用第二种的代码如下:
<Button Style="{StaticResource CustomButton}">
以上是直接在xaml中定义的做法,你也可以在后台代码中进行调用,希望对你有帮助,有疑问请追问或是Hi
<!--第一种,套用到所有按钮-->
<Style TargetType="{x:Type Button}">你要定义的样式和触发器</Style>
<!--第二种,定义一个x:key-->
<Style x:key="CustomButton" Target="{x:Type Button}">你要定义的样式和触发器</Style>
在按钮上套用第二种的代码如下:
<Button Style="{StaticResource CustomButton}">
以上是直接在xaml中定义的做法,你也可以在后台代码中进行调用,希望对你有帮助,有疑问请追问或是Hi
展开全部
如果你所有的button都放在前台创建。那么当你键入MouseEnter的时候,vs会自动弹出一个框,用来创建后台事件的,你只要选择相同的事件就可以了。如果button是在后台创建的,那么只要在事件的handler参数放同一个事件参数即可。如下:
Button btn = new Button();
Button btn1 = new Button();
btn.MouseEnter += new MouseEventHandler(btn_MouseEnter);
btn1.MouseEnter += new MouseEventHandler(btn_MouseEnter);
Button btn = new Button();
Button btn1 = new Button();
btn.MouseEnter += new MouseEventHandler(btn_MouseEnter);
btn1.MouseEnter += new MouseEventHandler(btn_MouseEnter);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询