我有一个页面,其根元素是一个名为 Root
的 Grid。
我有很多控件,例如 TextBlock
、TextBox
、Grid
、Rectangle
、Border
等等...他们是 Root
的 child 。
现在,我想在 Root
上使用 MouseDown
或 PreviewMouseDown
或 Click
来查找名称我点击的元素。
那么,如何获取我单击
/mousedown
的元素的名称?
如果我能得到一个使用隧道的解决方案,那就容易多了。
最佳答案
RoutedEventArgs具有获取或设置对引发事件的对象的引用的属性 Source。试试这个
xaml.cs
private void Grid_MouseDown_1(object sender, MouseButtonEventArgs e)
{
var mouseWasDownOn = e.Source as FrameworkElement;
if (mouseWasDownOn != null)
{
string elementName = mouseWasDownOn.Name;
}
}
xaml
<Grid PreviewMouseDown="Grid_MouseDown_1">
<StackPanel>
<ComboBox ItemsSource="{Binding ItemsSource}"/>
<Button Content="ok"/>
</StackPanel>
</Grid>
Khushi sara 项目 stackoverflow walon se he karana hai kya :)
关于c# - 获取我 `clicked`/`mousedown` 所在元素的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930759/