する質問をすることでしか得られない、回答やアドバイスがある。16前提・実現したいことWPF(MVVMパターン)を使ってツリー(TreeView)とリスト(ListBox)の表示連携をしたいと思っています。以下のような構成だとします。各地域を選択したときにListBoxに表示される一覧を更新させるアプリケーションを作っています。ロジックについて現時点では47都道府県(47アイテム)を持つリストをバインディングし、ツリービューの選択遷移のイベントにてListBoxItemのVisibilityにCollapsedなどをsetしている動きになっています。"一覧"という名称のリストがある。各アイテムは"件名"・"ノードパス"・"表示"プロパティを持つ。"表示"プロパティはListBoxItemの"Visibility"とバインドされている。Exceptionが発生してしまっています。(なおイベントを抜けた後の処理で発生しているようで、具体的な箇所については特定できてません。'HorizontalAlignment')など様々な問題が発生しており、そもそも根本的な実装が間違えているのかと思いました。すべてのリストに含ませる必要がある点から、非現実的だと思っています。・StyleのVerticalAlignmentやHorizontalAlignmentを明示的に設定する・VisibilityがCollapsedのときにMargin=0にするトリガーを設定するなどを試しましたが解決には至りませんでした。ソースを出したくないのでわかりにくい説明だとは思いますが、ご助言頂けますと幸いです。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。出るなら大概バグだと思います。再帰処理とか書いてるならその辺を疑ってみてください。出るなら大概バグだと思います。再帰処理とか書いてるならその辺を疑ってみてください。22:15そもそも地域で県をフィルタした結果をListBoxにバインドした方がいい気がします。そもそも地域で県をフィルタした結果をListBoxにバインドした方がいい気がします。様ListBoxに関わるところでは再帰処理は記述していない上、TreeViewをOFFにした状態でも発生しているので、再帰処理は問題ないと思っています。コードビハインドに記述したノード選択遷移イベント("SelectedItemChanged"イベント)を抜けた後でエラーが発生してしまっているので、具体的な箇所が掴めていない状況になっています...。ListBoxに関わるところでは再帰処理は記述していない上、TreeViewをOFFにした状態でも発生しているので、再帰処理は問題ないと思っています。コードビハインドに記述したノード選択遷移イベント("SelectedItemChanged"イベント)を抜けた後でエラーが発生してしまっているので、具体的な箇所が掴めていない状況になっています...。ViewModelで完結することをViewのコードビハインドで処理するのは個人的に気持ち悪いです。バインドする県リストに本来必要の無いデータが多すぎるのもパフォーマンスに悪影響ありそうですし。ViewModelで完結することをViewのコードビハインドで処理するのは個人的に気持ち悪いです。バインドする県リストに本来必要の無いデータが多すぎるのもパフォーマンスに悪影響ありそうですし。様ご指摘ありがとうございます。調査しても解決の糸口が見えなかったので、ご提案の方法で試したところとりあえず各地域の遷移時の動作は理想の形になりました。質問文にもあるように、実際のアプリケーションではリアルタイムにコンテンツが変動するので、そちらも確認しますがひとまずご提案の方法でテスト実装してみようと思います。ご指摘ありがとうございます。調査しても解決の糸口が見えなかったので、ご提案の方法で試したところとりあえず各地域の遷移時の動作は理想の形になりました。ご提案の方法でテスト実装してみようと思います。件sort評価が高い順sort新着順sort古い順linkcheck解決した方法0draq様にご指摘いただいた「そもそも地域で県をフィルタした結果をListBoxにバインドした方がいい気がします。」こちらの方法で実装したところ、理想の動きになりました。BAさせていただきたいところですが、自分が失念していたせいもあり時間が経ってしまったので自己解決とさせていただきます。ありがとうございました。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。commentコメント投稿link0仮想化してください。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。様ご回答ありがとうございます。ListBoxについては既に仮想化を行っています。仮想化OFF状態での処理負荷とON状態での動作負荷を比べたところ、明らかな負荷差が見られるので仮想化については問題なくできていると思っています。TreeViewとの関連性も確認してみましたが、TreeViewがない状態でもスクロールバーがおかしい現象やバインディングエラーが発生しているので、関連性としては低いと思っています。ご回答ありがとうございます。ListBoxについては既に仮想化を行っています。仮想化OFF状態での処理負荷とON状態での動作負荷を比べたところ、明らかな負荷差が見られるので仮想化については問題なくできていると思っています。TreeViewがない状態でもスクロールバーがおかしい現象やバインディングエラーが発生しているので、関連性としては低いと思っています。これだけの情報からは無理ですよ。層のテストを作成し、考えられるあらゆるデータにおいてそれが通るようにしてください。層のデバッグをするより仕方ないでしょう。これだけの情報からは無理ですよ。層のテストを作成し、考えられるあらゆるデータにおいてそれが通るようにしてください。層のデバッグをするより仕方ないでしょう。誤解を招く言い方になり申し訳ありません。これだけしか情報がない中で「他に考えられる可能性はありますか」と聞くのも失礼かと思い、単純にご指摘頂いた内容への回答として返信いたしました。デバッグについては引き続き行いますが、もし代案などあればご指摘いただければ幸いです。誤解を招く言い方になり申し訳ありません。これだけしか情報がない中で「他に考えられる可能性はありますか」と聞くのも失礼かと思い、単純にご指摘頂いた内容への回答として返信いたしました。デバッグについては引き続き行いますが、もし代案などあればご指摘いただければ幸いです。代案も何も今の案がわからないので何とも言えませんが、ただバグが入ってるだけのような気がします。テストは作ってますか?代案も何も今の案がわからないので何とも言えませんが、ただバグが入ってるだけのような気がします。Visibility=Collapsedにすると発生するようでした。軽くView層のテストも行ったところ、イベントを抜けた後で「循環が検出されました」というエラーが発生しており、View側の処理が永遠と走り続けるようでした。恥ずかしながらView層のテストはほぼしたことがなくどのように進めればいいのかもまだ分かっていないのですが、ひとまず仮想化と関わっている気がするので(仮想化OFFを避けるために)他の方法で対処しようと思います。ご指摘ありがとうございました。Visibility=Collapsedにすると発生するようでした。軽くView層のテストも行ったところ、イベントを抜けた後で「循環が検出されました」というエラーが発生しており、View側の処理が永遠と走り続けるようでした。仮想化と関わっている気がするので(仮想化OFFを避けるために)他の方法で対処しようと思います。ご指摘ありがとうございました。解決済WPFでobjectの外をClickするeventを補足したいです。頂いたご意見への回答は行っておりません。