如果我在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);
第一个字段是名称,第二个字段是标签吗?
答案 0 :(得分:2)
不,您不能对许多控件使用相同的名称。 但是有一种解决方法:使用FindName方法:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname(v=vs.95).aspx
有Why can't I access a TextBox by Name with FindName()? 您可以找到与命名空间问题相关的示例和解决方案。
FindName使用字符串来检索控件。所以你可以这样做:FindName("cellText_" + identifier);
并获取你需要的元素。
答案 1 :(得分:0)
@Sandrouos,我认为他没有使用相同的名称。
这篇博客文章完美地解释了它:
http://blog.jerrynixon.com/2012/09/how-to-access-named-control-inside-xaml.html