我有一种奇怪的情况......
我在 WPF 中有一个用户控件,而女巫又附加了一些其他用户控件,然后我有一个巨大的 C# 代码文件,其中包含一个需要访问用户控件 UI 元素和方法的大算法,这个漏洞过程与计时器一起使用它将数据从用户控件发送到 C# 代码文件算法,它需要从控件返回和更新 UI 元素,还需要访问它的方法......
现在的问题是我不想把这个庞大的算法放在我的控件的代码隐藏文件中,而是我想访问控件的 UI 元素并从该代码文件中声明方法......
到目前为止,我尝试的是从我使用的用户控件中实际派生代码文件的类,这工作得很好而且很花哨,但是要访问派生类,我需要创建它的一个新对象并且我显示的 UI 没有得到更新,因为它还创建了一个新的基类对象,我相信......
所以我有类似的东西:
public partial class usrctrlSimulator : UserControl
{
public usrctrlSimulator()
{
this.InitializeComponent();
}
public void StartSimulator()
{
Algorithm = new csAlgorithm();
Algorithm.InitializeSimulator();
timer1.Start();
}
}
public class csAlgorithm : usrctrlSimulator
{
public csAlgorithm()
{
}
public void InitializeSimulator()
{
txtblkSimulatorStatus.Text = "Started"; // this element would be from the user control
}
}
所以我的问题是:如何在不实例化它的新对象的情况下调用派生类,因为这将导致创建新的用户控件对象并且显示的 UI 将不会更新......或者如果我不派生算法类,我有什么可能访问用户控件元素和方法?