• ベストアンサー

WPFでCanvas の子要素にアクセスする方法

C#でWPFに取り組んでいるのですが・・・現在,詰まっています. 事前に List<Canvas> MyList = new List<Canvas>(); Canvas C =new Canvas(); Rectangle R = new Rectangle(); C.Child.Add(R); MyList.Add(C); としておき あとで,MyList経由でCやRの状態を変更したいのですが, この場合だと,「 MyList[i].~ 」でCanvasは操作できるのですが Rectangleはどうやって操作すればよいのでしょうか?? どなたかご存知の方がいらしましたら教えていただけないでしょうか? 宜しくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.2

例えば・・・ double dX = ((Rectangle)MyList[i].Children[j]).RadiusX; とかかな? Rectangleクラス1つだけならjが0になるかと。

Cross999
質問者

お礼

reset_catさん!! ありがとうございます!! 私が知りたかったのは,まさにこの方法です!! そうか・・・・・Childの後に[]か・・・・・答えを見て納得ですw ありがとうございました!!おかげで問題解決です!!

その他の回答 (1)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

操作できると思います。 List<>には参照を格納しているわけですから、Rectangle用のList<>も作成すればよいのではないでしょうか? ほかには、宣言後にNameプロパティを設定し、FindName()メソッドを使用してアクセスするなどがよいのではないでしょうか?

Cross999
質問者

お礼

AKARI0418さん,回答ありがとうございます!! Rectangleのリストを作ってしまう方法は私も考えてはいたのですが・・・・リストを2つも作るのはどうなのかと思っちゃいまして・・・・. あ~,NameプロパティとFindName()ですか・・・・すっかり存在を忘れてました!! 今回は使わないんですけど今後活かしてみます!! ありがとうございました!!