1

XAMLファイルで次のように9つのTextBlockが宣言されている場合:

<TextBlock Name="cellText_00" Tag="0"/>
<TextBlock Name="cellText_01" Tag="1"/>
<TextBlock Name="cellText_02" Tag="2"/>
<TextBlock Name="cellText_20" Tag="3"/>
...
<TextBlock Name="cellText_22" Tag="8"/>

.csからそれを操作して目的のタグ要素を正確に取得する方法はありますか?

たとえば、すべて同じ名前を付けて、次のように取得することは可能ですか。

TextBlock tb = get(cellText,0);

最初のフィールドは名前で、2番目のフィールドはタグですか?

4

2 に答える 2

2

いいえ、多くのコントロールに同じ名前を使用することはできません。ただし、回避策があります。FindNameメソッドを使用する:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname(v=vs.95).aspx

FindName()を使用して名前でTextBoxにアクセスできないのはなぜですか? 名前空間の問題に関連する例と解決策を見つけることができます。

FindNameは、文字列を使用してコントロールを取得します。したがって、次のようなことができますFindName("cellText_" + identifier);。必要な要素を取得します。

于 2012-11-16T10:33:19.427 に答える
0

@Sandrouos、彼が同じ名前を使っているとは思わない。

このブログ投稿はそれを完全に説明しています:

http://blog.jerrynixon.com/2012/09/how-to-access-named-control-inside-xaml.html

于 2012-11-16T10:38:42.010 に答える