私は一種の奇妙な状況を持っています...
私は WPF 魔女にユーザー コントロールを持っており、それに他のユーザー コントロールがいくつかアタッチされています。次に、ユーザー コントロールの UI 要素とメソッドにアクセスする必要がある大きなアルゴリズムを含む巨大な C# コード ファイルがあります。このホール プロセスはタイマーで動作します。ユーザーコントロールから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 が更新されないためです...または派生しない場合Algorithm クラス、ユーザー コントロールの要素とメソッドにアクセスするにはどのような可能性がありますか?