弄乱自动化ID



在 xamarin.forms 中设置堆栈布局的 AutomationId 以查找列表视图的元素是否安全? 原因如下: 我在列表视图中有一个 ComboBox,需要调用具有列表视图元素 id 的函数。当选择更改时,调用组合框的方法,我检查组合框的父元素的 automationId,该父元素的 automationId 我已设置为集合中的唯一字符串,然后我可以识别并找到我在列表中的位置。

问题: 这样做安全吗?我是否违反了某些 Xamarin.Forms 规则或编程规则?

谢谢

AFAIK 我不建议这样做,因为当自动化框架尝试搜索此元素时可能会导致问题,如果这就是您这样做的原因,请继续,否则不要。

当您阅读 AutomationId 的描述时,它说:

获取或设置一个值,该值允许自动化框架查找此元素并与之交互。

自动化框架可用于查找此元素并与之交互的值。

更多信息请查看此Microsoft文档

我个人建议你做的是,与其将此值添加到 StackLayout,不如直接向 ComboBox 添加一个属性?喜欢标签或其他东西,然后通过检查该标签找到你的名字?

最新更新