私は WPF が初めてで、問題の解決策が見つかりません。
ViewModel に Observable Collection があります。
ObservableCollection<Process>
Process クラス内には、別の ObervableCollection があります。
ObservableCollection<BurstTime>
新しいプロセスがアクティブ化されるたびに、ビュー内の StackPanel の 1 つに新しいユーザー コントロール (プロセス データの実際の状態を視覚化できるもの、およびバースト時間) を動的に追加し、プロセスがアクティブになったときにそれを削除します。終了しました(監視可能なコレクションが変更されたとき)..実行中に、バーストタイムコレクションを表示したい..
ユーザー コントロールのコード ビハインドで CollectionChanged イベントをサブスクライブし、別のユーザー コントロール内でユーザー コントロールを使用して、イベント ハンドラーの実行時に必要な TextBlocks を動的に作成しようとしましたが、常に System.Reflection.TargetInvocationException (内部例外: システム) が発生します。 .NullReferenceException) 私の外側の InitializeComponent() が実行されているとき..
public ResourceUseView()
{
InitializeComponent();
((ObservableCollection<Process>)DataContext).CollectionChanged += ResourceUseView_CollectionChanged;
}
それは可能ですか?ObservableCollection の要素の変更に対応しながら、外側の UserControl の分離コードでユーザー コントロールを作成または削除し、内側の ObservableCollection で要素が変更されたときに外側を更新することはできますか? 別のユーザー コントロール内でユーザー コントロールを動的にインスタンス化する以外の方法はありますか? ObservableCollection に ObservableCollection を表示できる特別なコントロールはありますか?
(可能であれば、ObservableCollection の要素と同じくらい異なるユーザー コントロールを使用したいと考えています。)
ご協力いただきありがとうございます!