0
我將ListBox項目(這裏的項目是文本框,複選框,當用戶放到畫布上時的單選按鈕,我們正在創建控件動態並添加到畫布)到Canvas。現在當用戶點擊畫布中的任何項目時,想要顯示該控件的屬性。 如何從畫布中獲取所選控件?如何在畫布中選擇一個對象wpf
我將ListBox項目(這裏的項目是文本框,複選框,當用戶放到畫布上時的單選按鈕,我們正在創建控件動態並添加到畫布)到Canvas。現在當用戶點擊畫布中的任何項目時,想要顯示該控件的屬性。 如何從畫布中獲取所選控件?如何在畫布中選擇一個對象wpf
要獲得點擊鼠標下的UI元素,您可以執行命中測試。在XAML定義MouseDown
事件處理程序:
<Canvas Mouse.MouseDown="Canvas_MouseDown">
,並實現它:
private void Canvas_MouseDown(object sender, MouseButtonEventArgs e)
{
var canvas = sender as Canvas;
if (canvas == null)
return;
HitTestResult hitTestResult = VisualTreeHelper.HitTest(canvas, e.GetPosition(canvas));
var element = hitTestResult.VisualHit;
// do something with element
}