[英]Allow clicks and click-through's
我在Button
有一個Grid
(它們都直接在另一個網格上,但Grid
在“上方”)。 我需要訂閱Grid
某些事件,但仍然可以單擊Button
。 我將Grid
的Background
設置為Transparent
,以使其引發事件,但是該Button
不可點擊。 有沒有辦法讓IsHitTestVisible = true
但讓點擊轉到下一個元素?
我首先看看你是否可以將按鈕放在網格上方。 您可以在 XAML 中移動它 - 元素聲明在 XAML 中越往下,z 順序越高。
如果您絕對不能這樣做,您可以覆蓋 UI 元素的 MouseUp 或 MouseDown 方法並控制處理屬性的設置,以允許樹中的后續元素進行點擊。
如果您只想將其限制為特定控件,您可以檢查“OriginalSource”屬性(因為所有這些事件參數都繼承自 RoutedEventArgs)以查看點擊來源並采取相應措施:
protected override void OnMouseDown(MouseButtonEventArgs e)
{
var grid = e.OriginalSource as Grid;
if (grid != null && grid.Tag = "yourgridname") e.Handled = false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.