c# - C# WPF 使用字符串访问文本框
问题描述
所以我有 10 个文本框叫做TextBox1
->TextBox10
是否可以编写一个 for 循环,创建一个字符串TextBox + i
并使用该字符串来设置文本框的文本?
解决方案
正如@npap 提到的,您可以使用FrameworkElement.FindName(string)
.
xaml 中的某处:
<StackPanel>
<TextBox Name="Textbox1"/>
<TextBox Name="Textbox2"/>
<TextBox Name="Textbox3"/>
<TextBox Name="Textbox4"/>
<TextBox Name="Textbox5"/>
<TextBox Name="Textbox6"/>
<TextBox Name="Textbox7"/>
<TextBox Name="Textbox8"/>
<TextBox Name="Textbox9"/>
<TextBox Name="Textbox10"/>
</StackPanel>
后面的代码:
using System.Windows;
using System.Windows.Controls;
namespace YourWpfApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
LoopOverTextBoxes();
}
private void LoopOverTextBoxes()
{
for (int i = 1; i <= 10; i++)
{
var textbox = (TextBox)FindName($"Textbox{i}");
textbox.Text = $"Name of this textbox is {textbox.Name}";
}
}
}
}
推荐阅读
- tmux - 将参数传递给 tmuxinator 项目文件
- android - 如何更改工具栏三点菜单可绘制颜色或色调?
- java - 是否可以从 Singleton 类访问 RequestScoped 类?
- drools - 我们可以在 Drools 中实现离散窗口规则吗?
- linux - 协调 Kaldi 配方的链接和路径文件
- java - 如何使用Java(用于硒自动化)获取段落标签内的文本。(div/div/p)
- c# - WCF SwaggerWCF 实现
- java - Android Studio 无法找到或加载“Scratch”文件的主类
- kubernetes - clusterIP 可以从其他节点访问吗?
- php - Centos 7 php 狂热