gpt4 book ai didi

WPF 用户控件单击

转载 作者:行者123 更新时间:2023-12-02 22:25:33 24 4
gpt4 key购买 nike

这与 SO Question 3222456 ....

我正在创建自己的 UserControl,其中包含一些图像和 TextBlock,仅此而已。我想在单击整个 UserControl 时触发一个事件。我的问题(或误解)是在 WPF 中似乎只有我可以 Hook 的 MouseUp 事件,没有 MouseClick。

那么最佳做法是什么?我能找到的所有示例都表现得好像 WPF 中的 mouseUp 等同于单击事件,但这是不对的。如果用户在屏幕的一部分执行 mouseDown 操作,按住鼠标直到它超出我的控制范围,然后松开鼠标,会怎样?这不是我的控件的单击,即使它触发了 MouseUp 事件。

那么如何为我的 UserControl 获取真正的 MouseClick 事件呢?

最佳答案

一种非常简单的方法是将您的全部内容放入一个几乎为空模板的按钮中,并响应ButtonOnClick 事件。

这看起来像

旧的:

<UserControl ...>
<Grid> ... </Grid>
</UserControl>

新:

<UserControl ...>
<Button OnClick="YourEventHandler">
<Grid> ... </Grid>
<Button.Template>
<ControlTemplate x:Key="BlankButtonTemplate" TargetType="{x:Type ButtonBase}">
<Border Background="#00000000">
<ContentPresenter Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</UserControl>

关于WPF 用户控件单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com