2009-08-27 11 views
0

Visual Basic 2008では、すべてのコントロールのコンテンツをSystem.Winows.Formオブジェクトから取得し、このコンテンツに対応するハッシュ値を返すという機能を実装しました。この関数を使用すると、ユーザーがページの内容を変更したかどうかを検出し、保存を求めるメッセージボックスを表示する必要があるかどうかを判断します。私はWPFでこれを行うことを試みたが、私はフォームのすべてのコントロールを取得するように見えることはできません。 これを行う方法はありますか、それとも、必要な機能を実行する方法はありますか?WPFウィンドウからのすべてのコントロールへのアクセス

おかげで、

答えて

0

申し訳ありませんが、私はそれが変更を検出するために、本当にひどいやり方だと思います。はるかに良い方法は、単にあなたのビューモデルの変更を追跡し、汚れた旗を公開することです。あなたはWPFの木を再帰、あなたが興味のあるコントロールを見つけるためにLogicalTreeHelper(またはVisualTreeHelper)を使用することができ、と述べた。

0

私は他の目的のためにその情報を必要とするので、私はこの方法を使用する理由は

私はさまざまなニーズに合わせてその方法を「構成」することができました。率直に言って、あなたがビューモデルの意味を知りません。私はWPFで新しく失敗しているので、もしそれが何かであれば、これまでにそれについて聞いたことはないだろう。

+1

です。私はMVVMのパターンをお読みになることをお勧めします。これは、あなたが始めるには良い記事です:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx –

関連する問題