如何在RepeatButton的第一次或最后一次单击时指定操作
示例:
标签最初设置为0。
当按下RepeatButton时,值会不断增加。
保留RepeatButton时,该值重置为0。
或者,当按下按钮时,立即将计数器设置为0,然后开始递增。
发布于 2014-06-20 21:54:56
您不需要使用RepeatButton来做您想做的事情。相反,最好使用标准的Button并处理PreviewMouseDown和PreviewMouseUp事件。试着做这样的事情:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Content="Press and Hold" PreviewMouseDown="Button_PreviewMouseDown"
PreviewMouseUp="Button_PreviewMouseUp" />
<TextBlock Grid.Column="1" Text="{Binding YourValue}" />
</Grid>..。
private DispatcherTimer timer = new DispatcherTimer();
private void Button_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
timer.Interval = TimeSpan.FromMilliseconds(100);
timer.Tick += Timer_Tick;
timer.Start();
}
private void Timer_Tick(object sender, EventArgs e)
{
YourValue++;
}
private void Button_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
timer.Stop();
}您可以调整值增量之间的毫秒数,以适应您的需求。
https://stackoverflow.com/questions/24333276
复制相似问题