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);

第一个字段是名称,第二个字段是标签?

4

2 回答 2

2

不,您不能对许多控件使用相同的名称。但是有一个解决方法:使用 FindName 方法:

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

为什么我不能使用 FindName() 按名称访问文本框? 您可以找到与命名空间问题相关的示例和解决方案。

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 回答