wpf如何动态改变button的事件.
请看下面的代码第5行的button(aaaa)我想在类中取得它然后改变他的按钮文字和click事件,但是却取不到它,第9行的元素能根据name取到,刚研究wpf请高手指点...
请看下面的代码第5行的button(aaaa)我想在类中取得它然后改变他的按钮文字和click事件,但是却取不到它,第9行的元素能根据name取到,刚研究wpf请高手指点如何做,谢谢。
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.Resources>
<DataTemplate x:Key="buttonTemplate">
<StackPanel Orientation="Horizontal">
<Button Name="aaaa" Content="删除" Width="70" Click="Button_Click"/>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" HorizontalAlignment="Stretch" Name="dgData" CellEditEnding="dgData_CellEditEnding" VerticalAlignment="Stretch" >
......
</Grid> 展开
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.Resources>
<DataTemplate x:Key="buttonTemplate">
<StackPanel Orientation="Horizontal">
<Button Name="aaaa" Content="删除" Width="70" Click="Button_Click"/>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" HorizontalAlignment="Stretch" Name="dgData" CellEditEnding="dgData_CellEditEnding" VerticalAlignment="Stretch" >
......
</Grid> 展开
2个回答
2016-04-25
展开全部
因为button屏蔽了mousedown事件。你可以画一个border。把button放入border。
让button自动适应border的大小。
在border的mousemove事件,总改变鼠标形状。
在border的mousedown事件中保存当前点。
在border的mouseup事件中获取鼠标位置,
通过down和up的位置差,计算你的按钮大小,改变border的大小和位置即可。
让button自动适应border的大小。
在border的mousemove事件,总改变鼠标形状。
在border的mousedown事件中保存当前点。
在border的mouseup事件中获取鼠标位置,
通过down和up的位置差,计算你的按钮大小,改变border的大小和位置即可。
展开全部
this.aaaa.Click-=Button_Click;
this.aaaa.Click+=Button_Click1;
this.aaaa.Click+=Button_Click1;
追问
嗯,谢谢。这个问题用别的方式解决了。现在又出现了一个新问题,
onload事件为什么只执行一次,也就是第一次打开的时候执行了一次,close之后再打开就不执行了。
为了解决这个问题又调用了activated事件,可是这样也有个坏处就是,第一次打开时,即执行了onload也执行了activated,想问一下怎样解决。谢谢。
原来调用close方法并不会清空窗口对象,手动清空一下就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询