为了支持自动化测试工具,我需要x:命名所有控件(以便工具可以“拾起”并观察其详细信息)。
问题是关于DataSrid,其中ItemSoure绑定到一个属性(在ViewModel中)。
确保所有行和所有网格单元都具有唯一名称的最佳方法是什么? 一个更好的问题是:如果DataGrid是x:Named,自动测试工具是否能够观察其行和单个单元格,即使行/单元格不是x:自己命名?
选项1(id喜欢避免)是x:命名每一行(在行加载事件上,以及它的所有列单元格)。
是否还有另一个选项,其中所有这些都是x:自动命名(唯一)?
甚至更好,也许甚至都不需要这一切。
答案 0 :(得分:0)
如果有人感兴趣,我找到了答案。听取Row加载事件。从那里以递归方式遍历行布局/控制树,同时命名有效控件(同时忽略任何布局控件... Grid,StackPanel,Border)。