C# コンパイラと Silverlight 2 のドキュメントによると、Silverlight は DataTemplate クラスの FindName メソッドを提供していません。ContentPresenter 内にある Border を見つけたいです。SilverLight 2 での最善の方法は何ですか?
Nobody Important
質問する
3405 次
2 に答える
3
境界線が ControlTemplate ではなく DataTemplate 内にある場合、過去にそれを行うことができた唯一の方法は、必要な要素を見つけるために VisualTreeHelper を使用することでした。
于 2008-11-13T20:37:44.600 に答える
0
シナリオを完全に理解しているわけではありませんが、DataTemplate について言及しているので、テンプレートを使用していると思います。
テンプレートを使用している場合は、ボーダーに名前 (x:Name="border") を付けてから、OnApplyTemplate メソッドをオーバーライドします。そのメソッドでは、GetTemplateChild を使用して、使用した名前を渡します。これにより、国境への参照が返されます。
テンプレートを使用しておらず、ContentPresenter への参照がある場合は、子の Content プロパティを参照する再帰関数を記述できます。それが境界線でない場合は、コンテンツに対して同じ関数を呼び出します。
于 2008-11-13T20:21:49.903 に答える