获取我点击过/ mousedown的元素的名称

Khu*_*shi 2 c# wpf xaml

我有一个页面,其根元素是名为的网格Root

我像许多控件TextBlockTextBoxGridRectangleBorder等...谁是孩子Root

现在,我想有一个MouseDownPreviewMouseDownClickRoot找到关于这一点我点击的元素的名称。

所以,我怎么能得到的元素,我的名字clicked/ mousedown

如果我可以获得使用隧道的解决方案,那将容易得多。

yo *_*han 5

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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

a

<Grid PreviewMouseDown="Grid_MouseDown_1">
    <StackPanel>
        <ComboBox ItemsSource="{Binding ItemsSource}"/>
        <Button Content="ok"/>
    </StackPanel>

</Grid>
Run Code Online (Sandbox Code Playgroud)

Khushi sara project stackoverflow walon se he karana hai kya :)