我想完成一系列组成完整测试的步骤。其中一些步骤是自动的(因此信息丰富),而其他步骤则需要用户交互。测试步骤在编译时是未知的,它们使用 MEF 来加载。
目前我有类似的东西
public abstract class TestRunnerBase
{
public abstract void Run();
}
使用如下步骤列表:
List<TestRunnerBase> Steps = new List<TestRunnerBase>();
因此,所有代表测试可序列化的数据到目前为止都可以正常工作。然而,我真正需要的是用户从 XML 加载测试,然后引导他们完成在屏幕上显示信息并收集结果的选项。
但是试图弄清楚如何为编译时未知的数据创建控件最终让我有点卡在最好的方法上。
我正在考虑这样做,我将有一个自定义控件列表(一个步骤),并且 GUI 将显示第一步,等待该控件完成(我在这里认为引发的事件可能有效?)然后如果可用,则显示下一个,依此类推,直到测试完成。
那么在WPF中可以做到这一点吗?您可以在 WPF 中创建一个控件堆栈,每个控件都可以向父容器引发相同的事件,还是有更好的方法来做到这一点?
但是,如果我也使用抽象类,我当然不能从它派生控件,因为在 C# 中也没有多重继承。