ala*_*a27 21
是的,有一个点击事件.它叫做MouseLeftButtonDown
textBlock1.MouseLeftButtonDown +=new MouseButtonEventHandler(textBlock1_MouseLeftButtonDown);
private void textBlock1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*cze 12
我通过在其模板中创建一个带有TextBlock的Button来解决这个问题,如下所示:
<Button Click="button_Click">
<Button.Template>
<ControlTemplate>
<TextBlock ... />
</ControlTemplate>
</Button.Template>
</Button>
Run Code Online (Sandbox Code Playgroud)
这是一个更多的标记,但您不需要编写任何代码,它由框架提供并正常工作.
您可以使用手势支持关联单击事件.
编辑:通过这样做,您的行为将与操作期间用户在显示屏上移动手指的点击(点按)一致.点击不会在mousedown下触发,移开控制,mouseup.点击手势的工作方式相同.并非所有用户都知道他们可以通过移动他们的鼠标/手指来中止点击,但有些用户会这样做,如果没有正确处理它,你就会被抓住.MouseLeftButtonUp处理以相同的方式工作,但我不建议依赖于此,因为它不是设计的,可能会出现意外的更改或与其他控件的冲突.
有几个答案建议使用MouseLeftButton事件,但我看到了很多这种方法出错的例子.我建议将TextBlock(或其他控件/控件)放入具有自定义样式的Button中(删除除内容控件之外的所有边框/边距).它好多了!
<Button Style={StaticResource OnlyContentStyle}>
<Button.Content>
<TextBlock />
</Button.Content>
</Button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18017 次 |
| 最近记录: |