WPF White框架访问自定义控件上的自定义属性

时间:2018-05-11 06:54:48

标签: c# wpf white

有没有办法如何使用White框架测试在WPF中访问自定义控件上的自定义属性?

假设我有这样的课程:

public class MyButton : System.Windows.Controls.Button
{
    public MyButton()
    {

    }

    public string MyCustomButtonProp { get { return "MyButtonInfo"; } }
}

有没有办法在测试中通过White框架访问MyCustomButtonProp?我阅读了如何处理自定义控件(https://teststackwhite.readthedocs.io/en/latest/AdvancedTopics/CustomUIItems/),但这并没有让我得出结论如何访问自定义属性,只讨论如何使用嵌套控件处理自定义控件。如果我使用标准的白色框架对象(在这种情况下为Button),我可以与按钮进行交互,但这在我的情况下是不够的。

1 个答案:

答案 0 :(得分:0)

您需要编写自己的AutomationPeer来公开该属性。然后,您需要扩展White控件以显示您的自定义属性。

覆盖AutomationPeer并不坏,因为您可以从另一个AutomationPeer继承来获得所需功能的90%。

这里是一个如何编写AutomationPeer的示例。这是我要探讨的另一个document,它为实现UIA的“服务器”端提供了更为广泛的概述。