如何在 C# 中找到 XAML 元素的名称?
Posted
技术标签:
【中文标题】如何在 C# 中找到 XAML 元素的名称?【英文标题】:How do I find the name of a XAML element in C#? 【发布时间】:2021-12-20 06:50:38 【问题描述】:我在这里有这段代码,它将检测 XAML 中的复选框是否已更改,因此还会检查该复选框的名称以查看它是否与“whatever”匹配。但是,我似乎无法完全理解这个属性,因为它是您声明自己的属性 (x:Name
)。
checkBox.Name
throws this error,这使它更复杂,因为我不知道如何找到这个元素的x:Name
。
private void CB_Changed(object sender, CheckedChangedEventArgs e)
CheckBox checkBox = sender as CheckBox;
if (checkBox.Name == "whatever")
// Do something
如何做到这一点,但显然是以正确的方式?
【问题讨论】:
错误是什么? "CheckBox 不包含“名称”的定义" 如果您的编辑器支持它,请尝试将鼠标悬停在“CheckBox”上以在工具提示中查看它是什么类(例如 System.Windows.Controls.CheckBox)。 一个复选框肯定是has a Name property。试试var checkBox = sender as System.Windows.Controls.CheckBox;
看看是否可行。
我之前应该提到过,这是针对安卓应用的,所以同样的事情也适用吗?
【参考方案1】:
尝试使用AutomationId
属性。
【讨论】:
以上是关于如何在 C# 中找到 XAML 元素的名称?的主要内容,如果未能解决你的问题,请参考以下文章
C#如何在没有 XAML 的情况下创建到父元素的(两种方式)数据绑定
如何获取适用于 C# 的 Windows Compact 2013 的 Silverlight 或 XAML?