これは、いくつかの特別な機能を備えたウィンドウのように動作することを目的としています。これまでのところ、サイズを変更して画面全体にドラッグできます。XAML を使用して複数の CoolControl オブジェクトをアプリケーション ウィンドウに追加すると、最後に宣言されたオブジェクトが常に前面に表示されます。これは問題ありませんが、実行時に CoolControl オブジェクトの 1 つをクリックすると、そのコントロールが他のすべてのコントロールの前に配置されるようにしたいと考えています。
を使用してみましCanvas.SetZIndex
たが、十分に賢い解決策を思いつくことができない場合を除き、それがどのように役立つかわかりません。1 つのコントロールの Z-Index を 9999 に設定すると、時間の経過とともにクリックする他のすべてのコントロールの値が同じ 9999 になるためです。
誰かの UserControl の BringToFront() メソッドを作成するタスクを与えられた場合、可能な限り簡単な方法でそれを行うにはどうすればよいでしょうか? 親ウィンドウを取得し、すべてのコントロールをループして、最大の Z-Index を見つけ、それに応じて CoolControl の Z-Index を設定するよりも、それが有効な解決策である場合は、より良い解決策をお勧めします。