У меня какая-то странная ситуация ...
У меня есть пользовательский элемент управления в WPF, к которому, в свою очередь, прикреплены некоторые другие пользовательские элементы управления, а затем у меня есть огромный файл кода C # с большим алгоритмом, который требует доступа к элементам и методам пользовательского интерфейса элемента управления, этот процесс работает с таймером, который отправляет данные в алгоритм файла кода C # из пользовательского элемента управления и должен возвращать и обновлять элементы пользовательского интерфейса из элемента управления, а также получать доступ к его методам ...
Теперь дело в том, что я не хочу помещать этот огромный алгоритм в файл codebehind моего элемента управления, вместо этого я хотел бы получить доступ к элементам пользовательского интерфейса элемента управления и объявленным методам из этого файла кода ...
Пока я пытался получить класс файла кода из пользовательского элемента управления, который я использую, это прекрасно работает, но для доступа к производному классу мне нужно создать его новый объект и пользовательский интерфейс, который мне показывают не обновляется, так как он также создает новый объект базового класса, я полагаю ...
поэтому у меня есть что-то вроде:
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
}
}
Итак, мой вопрос: как мне вызвать производный класс, не создавая экземпляр его нового объекта, поскольку это приведет к созданию нового объекта пользовательского элемента управления, и отображаемый пользовательский интерфейс не будет обновлен ... или, если я не буду не выводит класс Algorithm, какая у меня есть возможность доступа к элементам и методам управления пользователя?