如何在RepeatButton
的第一次或最后一次点击中指定操作?
示例:
标签最初设置为0
按下RepeatButton
时,值会连续递增
当剩下RepeatButton
时,该值将重置为0
或者,当按下按钮时立即将计数器设置为0,并开始递增
答案 0 :(得分:1)
您不需要使用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();
}
您可以调整值增量之间的毫秒数,以满足您的要求。