ValueChanged イベントをトリガーせずに、コード内のコントロール (Slider.Value) に依存関係プロパティを設定する必要があります (ユーザーではなく値を設定するため)。WPF でこの状況を処理する最善の方法は何ですか?
明確にするために、私がやろうとしているのは、WPF スライダーを WinForms ユーザー コントロールに接続することです。現在、私のアプリには、メソッド呼び出しを介してスライダーの値を WinForms コントロールに渡す ValueChanged イベント ハンドラーがあります。WinForms コントロール (実際にはネイティブ OpenGL ウィンドウのラッパー) は、内部計算に基づいてスライダーを動的に変更できる必要があります。これを行うには、スライダー (ISlider) の抽象化を使用し、アプリでそのスライダーの WPF フレーバーをインスタンス化し、そのベースへのハンドルを WinForms ユーザー コントロールの .NET プロパティを介して WinForms コントロールに渡します。これはすべて現在機能しています。内部ロジックがスライダーを変更する必要があると判断すると、ISlider::SetPos() が呼び出され、WPF スライダーが変更され、スライダーで ValueChanged イベントがトリガーされます。そのイベントのハンドラーは、スライダーの位置を抽出し、最初にイベントを発生させた WinForms コントロールに渡します。ligaz と Alan Le による提案はどちらも機能するように見えますが、これについて最善の方法で行っているかどうかはわかりません。